新版本redis的集群创建会更加简单,因为生产环境使用的是4.0版本故需要研究一下4.0的集群创建。
在redis4.0的源码包中有一个utils目录,其中的create-cluster目录下有一个create-cluster脚本,有三个可选参数分别为start create 和 stop,这单个参数可以用于集群的启动 创建 和 停止操作
当执行create 参数创建集群时或报错,下面开始复现操作和解决方案
下载源码
wget https://download.redis.io/releases/redis-4.0.14.tar.gz
安装编译依赖
编译之前需要有 gcc gcc-c++ make等依赖
yum install -y gcc gcc-c++ make
解压源码
tar -zxvf redis-4.0.14.tar.gz
进去解压后的目录
cd redis-4.0.14
编译源码
make
启动集群
cd ./utils/create-cluster
./create-cluster start
查看进程中是否有redis
ps -ef | grep redis
创建集群
./create-cluster create
提示没有ruby
因为集群创建使用的是ruby脚本素以需要先安装ruby
安装ruby
sudo yum install ruby
通过 ruby -v命令可以看到安装的是2.0版本
再次尝试创建集群
./create-cluster create
出问题了缺少依赖
/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- redis (LoadError)
from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require'
from ../../src/redis-trib.rb:25:in `<main>'
安装依赖
gem install redis
因为网络问题在线安装基本不会成功,我们去gem官网去下载redis依赖
wget https://rubygems.org/downloads/redis-4.7.1.gem
下载成功以后安装 gem redis 依赖
安装gem redis
gem install ./redis-4.7.1.gem
ERROR: Error installing ./redis-4.7.1.gem:
redis requires Ruby version >= 2.4.0.
报错了,ruby版本太低了,我安装的是2.0.0他需要大于2.4
现在有两个解决方案升级ruby或者安装低版本的 gem redis 依赖
这里我选择安装低版本的gem redis依赖
下载并安装低版本gem redis依赖
wget https://rubygems.org/downloads/redis-3.3.5.gem
下载成功了
开始安装
gem install ./redis-3.3.5.gem
可以看到安装成功了
再次执行集群创建
./create-cluster create
可以看到集群创建成功了
新版本的redis创建集群会更简单,后面会介绍。