由于极其有限,采用一台机器多个端口的方式搭建redis集群.
1.创建redis集群配置文件
touch redis-6301.conf
touch redis-6302.conf
touch redis-6303.conf
touch redis-6304.conf
touch redis-6305.conf
touch redis-6306.conf
在每个文件中添加配置
#该集群阶段的端口
port 6301
#为每一个集群节点指定一个pid_file
pidfile /var/run/redis_6301.pid
#在bind指令后添加本机的ip
bind 127.0.0.1 172.18.2.181
#找到Cluster配置的代码段,使得Redis支持集群
cluster-enabled yes
#每一个集群节点都有一个配置文件,这个文件是不能手动编辑的。确保每一个集群节点的配置文件不通
cluster-config-file nodes-6301.conf
#集群节点的超时时间,单位:ms,超时后集群会认为该节点失败
cluster-node-timeout 5000
#最后将appendonly改成yes
appendonly yes
然后使用redis-server指定各个配置文件启动.
使用这六个节点创建集群:
/opt/redis-4.0.9/src/redis-trib.rb create --replicas 1 172.18.2.181:6301 172.18.2.181:6302 172.18.2.181:6303 172.18.2.181:6304 172.18.2.181:6305 172.18.2.181:6306
--replicas 1 表示我们希望为集群中的每个主节点创建一个从节点。
注意通过redis-cli 验证集群时,须在启动redis-cli 添加 -c 参数,否则无法在节点之间跳转
例如: redis-cli -p 6301 -c
搭建途中可能遇到的问题:
安装ruby已经ruby依赖异常
yum -y install ruby ruby-devel rubygems rpm-build
gem install redis
要是出现redis requires Ruby version >= 2.x.x的报错,需要先安装rvm
curl -L get.rvm.io | bash -s stable
source /usr/local/rvm/scripts/rvm
这里国内可能访问不了raw.githubusercontent.com,在/etc/hosts 里面添加199.232.28.133 raw.githubusercontent.com绑定域名即可
还可能遇到缺少依赖的问题,但是这时候会有提示让你安装
curl -sSL https://rvm.io/mpapis.asc | gpg2 --import
curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import
这两个依赖,添加完依赖就可以了
然后安装2.4.1版本
rvm install 2.4.1
rvm use 2.4.1