-
首先我们先把dump6379、80、81.rdb文件全部删除,防止对集群搭建的影响。使用命令rm -f dump63*删除文件
-
打开redis6379.conf(6380,6381同理),并添加以下内容
# 打开集群模式
cluster-enabled yes
# 设置节点配置文件名
cluster-config-file nodes-6379.conf
# 设定节点失联时间,超过该时间(毫秒),集群自动进行主从切换
cluster-node-timeout 15000
其他.conf文件内改成对应的端口号即可,如redis6380.conf改为:
-
启动6个redis服务(redis-server redis6379.conf)如下:
注意: 如果进程中没有[cluster]标注,需要先使用命令kill -9 进程id将进程删掉再从新启动该redis服务。 启动redis各个端口的服务后,会生成node节点文件如下:
-
将6个节点合成一个集群 首先进入redis安装文件的src目录下,如图:
然后输入以下命令(1表示一个主服务器有一个从服务器,如果为2的话则是一个主服务器有两个从服务器):
redis-cli --cluster create --cluster-replicas 1 192.168.229.128:6379 192.168.229.128:6380 192.168.229.128:6381 192.168.229.128:6389 192.168.229.128:6390 192.168.229.128:6391
注意: 以上命令适用于Redis5.0以上版本,如果是Redis5.0以下版本,需要安装相关插件且命令也会更改,具体参考Redis4.0.X 官方集群方案搭建。
此时Redis集群已经完成了搭建
6. 采用集群策略连接Redis,设置数据会自动切换到相应的写主机上
注意:实际开发中,集群的搭建应尽量保证每个主数据库运行在不同的IP地址,每个从库和主库不在一个IP地址上。
7. Redis集群的优点
- 实现扩容
- 分担压力
- 无中心配置,相对简单 8. Redis集群的缺点
- 多键值对操作不被支持
- 不支持多键的Redis事务、lua脚本
- 之前的方案迁移到集群方案中的复杂度较大