1、准备三台服务器(假设三台IP为:9.23.25.34、9.23.25.35、9.23.25.36),每台机器拷贝两套redis代码;每台机器使用6379 6380作为两套redis的端口。修改主服务器的redis.conf配置文件如下图
2、修改从服务器的redis.conf配置如下图
3、分别启动六台redis服务器
4、使用nentstat -aln | grep 6379检查端口是否是0.0.0.0:*,如果不是那就是只开通了本机可访问,需要检查一下redis.conf中参数。
5、通过firewall-cmd --list-port检查防火墙开通的端口,端口必须开通6379 ,16379 ,6380,16380;因为创建redis集群需要使用到端口+10000进行通信。
6、检查本机的ruby环境,redis集群需要使用ruby脚本开发的gem进行部署;ruby--version (这里需要>2.3.7)由于没有外网,所以直接下载ruby安装文件,./configure && make && make install安装即可。从其他机器下载redis-4.0.2.gem,进行本地安装:gem install --local redis-4.0.2.gem
7、由于我们的redis使用了密码,所以这里需要修改reidis gem的密码,保证能够连上redis服务器:find / -name 'client.rb'vi /home/admin/.rvm/gems/ruby-2.4.0/gems/redis-4.0.2/lib/redis/client.rb然后修改password为最新的密码
8、执行redis的集群命令:./redis-trib.rb create --replicas 1 9.23.25.34:6379 9.23.25.35:6379 9.23.25.36:6379 9.23.25.34:6380 9.23.25.36:6380 9.23.25.34:6380即可成功创建redis三主三从。
9、如果创建失败,则需要清除所有的nodes-6379/6380.conf文件,重启redis,并且登录所有的节点执行:flushallcluster reset soft然后重新创建集群即可。(笔者第一次操作时由于防火墙限制,导致没有开通16379,16380端口,导致失败,按照这个方法重新操作后才成功)