Redis集群搭建

124 阅读2分钟
  1. Redis配置单机版主从复制中我们最后的文件信息如下图所示: bzTaAs.png

  2. 首先我们先把dump6379、80、81.rdb文件全部删除,防止对集群搭建的影响。使用命令rm -f dump63*删除文件 bz7lVJ.png

  3. 打开redis6379.conf(6380,6381同理),并添加以下内容

# 打开集群模式
cluster-enabled yes
# 设置节点配置文件名
cluster-config-file nodes-6379.conf
# 设定节点失联时间,超过该时间(毫秒),集群自动进行主从切换
cluster-node-timeout 15000

bzXCrV.png

其他.conf文件内改成对应的端口号即可,如redis6380.conf改为: bzXhZT.png

最终得到的文件分布如下: bzXvdO.png

  1. 启动6个redis服务(redis-server redis6379.conf)如下: qSigtx.png 注意: 如果进程中没有[cluster]标注,需要先使用命令kill -9 进程id将进程删掉再从新启动该redis服务。 启动redis各个端口的服务后,会生成node节点文件如下: qSFdUI.png

  2. 将6个节点合成一个集群 首先进入redis安装文件的src目录下,如图: qSArng.png 然后输入以下命令(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 官方集群方案搭建qSYnSO.png qSYGkt.png

此时Redis集群已经完成了搭建

6. 采用集群策略连接Redis,设置数据会自动切换到相应的写主机上 qStf8f.png

注意:实际开发中,集群的搭建应尽量保证每个主数据库运行在不同的IP地址,每个从库和主库不在一个IP地址上。

7. Redis集群的优点

  • 实现扩容
  • 分担压力
  • 无中心配置,相对简单 8. Redis集群的缺点
  • 多键值对操作不被支持
  • 不支持多键的Redis事务、lua脚本
  • 之前的方案迁移到集群方案中的复杂度较大