redis集群至少需要三个master节点,这里搭建三个master接点水,并且给每个master再搭建一个slave节点,一共6个redis节点,由于节点较多,这里采用在一台机器上创建6个redis实例,并将这六个redis实例配置成集群模式,所以这里是伪集群模式
1、在/usr/local下创建文件夹redis-cluster,然后再在其下面分别创建六个文件夹如下
(1)mkdir -p /usr/local/redis-cluster
(2)mkdir 8001 mkdir 8002 mkdir 8003 mkdir 8004 mkdir 8005 mkdir 8006
2、把之前的redis.conf文件copy到8001下面,修改如下内容:
(1)daemonize yes
(2)port 8001(分别对每个机器的端口进行设置)
(3)bind 192.168.X.X(必须绑定当前计算机IP,方便redis集群定位机器,不绑定可能会循环查找节点)
(4)dir /usr/local/redis-cluster/8001/(指定数据文件存放位置,必须指定不同的目录位置,不然会丢失数据)
(5)cluster-enabled yes(启动集群模式)
(6)cluster-config-file nodes-8001.conf(800x端口要对应)
(7)cluster-node-timeout 5000
(8)appendonly yes
3、把修改后的conf文件,分别拷到各个文件夹下,注意每个配置文件的端口号对应,批量修改,可用:
:%s/源字符串/目的字符串/g 例如 :%s/8001/8003/g
4、由于redis集群运行需要ruby,接下来安装ruby
yum install ruby
yum install rubygems
yum install redis --version5.0.0(安装redis和ruby的接口)
如果提示要升级ruby,此链接步骤:https://www.cnblogs.com/kangoroo/p/7657616.html
5、分别启动六个redis实例,然后检查是否成功启动
(1)/usr/local/redis/bin/redis-server /usr/local/redis-cluster/800*/redis.conf
(2)ps -ef | grep redis(查看是否全部启动成功)
6、在redis的安装目录下执行redis-trib.rb命令创建整个redis集群
(1)cd /usr/local/redis/src
(2) ./redis-trib.rb create --replicas 1 192.168.189.128:8001 192.168.189.128:8002 192.168.189.128:8003 192.168.189.128:8004 192.168.189.128:8005 192.168.189.128:8006
遇到以下错误:
使用以上提示命令运行:
./redis-cli --cluster create 192.168.189.128:8001 192.168.189.128:8002 192.168.189.128:8003 192.168.189.128:8004 192.168.189.128:8005 192.168.189.128:8006 --cluster-replicas 1
7、验证集群
(1)连接任意一个客户端即可:
./redis-cli -c -h -p
例如:/usr/local/redis/bin/redis-cli -c -h 192.168.189.128 -p 8001