环境:
这里参考官方使用一台服务器:Centos 7 redis-5.0.4 192.168.10.10
redis集群cluster最少要3个主节点,所以本次需要创建6个实例:3个主节点,3个从节点。
1、创建cluster工作目录
[root@localhost ~]# mkdir -p /opt/redis-5.0.4/cluster-test/{7000,7001,7002,7003,7004,7005}
2、创建cluster的配置文件
[root@localhost ~]# cd /opt/redis-5.0.4/cluster-test/ [root@localhost cluster-test]# vim 7000/redis.conf port 7000 // 端口号 daemonize yes // 开启守护进程 dir "/opt/redis-5.0.4/cluster-test/data" // 集群的工作目录 logfile "/opt/redis-5.0.4/cluster-test/log/cluster-7000.log" // 日志文件 dbfilename "dump-7000.rdb" cluster-enabled yes // 启用集群功能 cluster-config-file nodes-7000.conf // 集群配置文件的名字 cluster-require-full-coverage no // #redis cluster需要16384个slot都正常的时候才能对外提供服务,换句话说,只要任何一个slot异常那么整个cluster不对外提供服务。 因此生产环境一般为no cluster-node-timeout 5000 //请求超时 默认15秒,可自行设置 appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日志
由于这6个实例的配置文件除了端口以外基本相同。所以我们将redis.conf分别复制一份到剩下的7001、7002、7003、7004、7005的目录下然后修改对应的端口。
最终的配置文件看起来向下面这样
[root@localhost cluster-test]# vim 7000/redis.conf port 7000 daemonize yes dir "/opt/redis-5.0.4/cluster-test/data" logfile "/opt/redis-5.0.4/cluster-test/log/cluster-7000.log" dbfilename "dump-7000.rdb" cluster-enabled yes cluster-config-file nodes-7000.conf cluster-require-full-coverage no cluster-node-timeout 5000 appendonly yes --------------------------------------------------------------------- [root@localhost cluster-test]# vim 7001/redis.conf port 7001 daemonize yes dir "/opt/redis-5.0.4/cluster-test/data" logfile "/opt/redis-5.0.4/cluster-test/log/cluster-7001.log" dbfilename "dump-7001.rdb" cluster-enabled yes cluster-config-file nodes-7001.conf cluster-require-full-coverage no cluster-node-timeout 5000 appendonly yes ------------------------------------------------------------------------ [root@localhost cluster-test]# vim 7002/redis.conf port 7002 daemonize yes dir "/opt/redis-5.0.4/cluster-test/data" logfile "/opt/redis-5.0.4/cluster-test/log/cluster-7002.log" dbfilename "dump-7002.rdb" cluster-enabled yes cluster-config-file nodes-7002.conf cluster-require-full-coverage no cluster-node-timeout 5000 appendonly yes ------------------------------------------------------------------------ [root@localhost cluster-test]# vim 7003/redis.conf port 7003 daemonize yes dir "/opt/redis-5.0.4/cluster-test/data" logfile "/opt/redis-5.0.4/cluster-test/log/cluster-7003.log" dbfilename "dump-7003.rdb" cluster-enabled yes cluster-config-file nodes-7003.conf cluster-require-full-coverage no cluster-node-timeout 5000 appendonly yes ------------------------------------------------------------------------ [root@localhost cluster-test]# vim 7004/redis.conf port 7004 daemonize yes dir "/opt/redis-5.0.4/cluster-test/data" logfile "/opt/redis-5.0.4/cluster-test/log/cluster-7004.log" dbfilename "dump-7004.rdb" cluster-enabled yes cluster-config-file nodes-7004.conf clus