集群模式实际就是将多个主从复制的结构组合起来,每一个主从复制结构可以看成一个节点。
演示取三台服务,一共部署九个Redis(正常可以选九台,三主三从;没那条件-_-)
172.1.1.1 端口分别为:7001 6001 6002
172.1.1.2 端口分别为:7002 6003 6004
172.1.1.3 端口分别为:7003 6005 6006
一、修改配置文件
172.1.1.1
172.1.1.1的7001主节点的Redis.conf文件
#bind进行注释
#bind 127.0.0.1
#修改端口port
port 7001
#开启集群模式并设置集群配置
cluster-enabled yes
#将cluster-config-file设置为自定义的文件
cluster-config-file nodes-7001.conf
#设置yes,其他服务器可以访问本地redis
protected-mode yes
#设置yes,开启线程守护后台运行
daemonize yes
#设置pid文件路径
pidfile /opt/tools/redis-7001/run/redis.pid
#设置redis日志文件路径
logfile /opt/tools/redis-7001/logs/redis.log
#设置Redis文件存储目录
dir /opt/tools/redis-7001/data
#设置Redis密码
requirepass Re9Dis9?a
#配置主节点redis的密码,尽可能和主节点一致
masterauth Re9Dis9?a
#开启Redis持久化AOF
appendonly yes
#修改完保存启动
#查看log/redis.log日志,如下
172.1.1.1的6001从节点的Redis.conf文件
#bind进行注释
#bind 127.0.0.1
#修改端口port
port 6001
#开启集群模式并设置集群配置
cluster-enabled yes
#将cluster-config-file设置为自定义的文件
cluster-config-file nodes-6001.conf
#设置yes,其他服务器可以访问本地redis
protected-mode yes
#设置yes,开启线程守护后台运行
daemonize yes
#设置pid文件路径
pidfile /opt/tools/redis-6001/run/redis.pid
#设置redis日志文件路径
logfile /opt/tools/redis-6001/logs/redis.log
#设置Redis文件存储目录
dir /opt/tools/redis-6001/data
#设置Redis密码
requirepass Re9Dis9?a
#开启Redis持久化AOF
appendonly yes
#配置主节点redis的密码,尽可能和主节点一致
masterauth Re9Dis9?a
#修改完保存启动
#查看log/redis.log日志,如下
172.1.1.1的6
002从节点的Redis.conf文件
#bind进行注释
#bind 127.0.0.1
#修改端口port
port 6002
#开启集群模式并设置集群配置
cluster-enabled yes
#将cluster-config-file设置为自定义的文件
cluster-config-file nodes-6002.conf
#设置yes,其他服务器可以访问本地redis
protected-mode yes
#设置yes,开启线程守护后台运行
daemonize yes
#设置pid文件路径
pidfile /opt/tools/redis-6002/run/redis.pid
#设置redis日志文件路径
logfile /opt/tools/redis-6002/logs/redis.log
#设置Redis文件存储目录
dir /opt/tools/redis-6002/data
#设置Redis密码
requirepass Re9Dis9?a
#开启Redis持久化AOF
appendonly yes
#配置主节点redis的密码,尽可能和主节点一致
masterauth Re9Dis9?a
#修改完保存启动
#查看log/redis.log日志,如下
172.1.1.2
172.1.1.2的7002主节点的Redis.conf文件
#bind进行注释
#bind 127.0.0.1
#修改端口port
port 7002
#开启集群模式并设置集群配置
cluster-enabled yes
#将cluster-config-file设置为自定义的文件
cluster-config-file nodes-7002.conf
#设置yes,其他服务器可以访问本地redis
protected-mode yes
#设置yes,开启线程守护后台运行
daemonize yes
#设置pid文件路径
pidfile /home/tools/redis-7002/run/redis.pid
#设置redis日志文件路径
logfile /home/tools/redis-7002/logs/redis.log
#设置Redis文件存储目录
dir /home/tools/redis-7002/data
#设置Redis密码
requirepass Re9Dis9?a
#配置主节点redis的密码,尽可能和主节点一致
masterauth Re9Dis9?a
#开启Redis持久化AOF
appendonly yes
#修改完保存启动
#查看log/redis.log日志,如下
172.1.1.2的6003从节点的Redis.conf文件
#bind进行注释
#bind 127.0.0.1
#修改端口port
port 6003
#开启集群模式并设置集群配置
cluster-enabled yes
#将cluster-config-file设置为自定义的文件
cluster-config-file nodes-6003.conf
#设置yes,其他服务器可以访问本地redis
protected-mode yes
#设置yes,开启线程守护后台运行
daemonize yes
#设置pid文件路径
pidfile /home/tools/redis-6003/run/redis.pid
#设置redis日志文件路径
logfile /home/tools/redis-6003/logs/redis.log
#设置Redis文件存储目录
dir /home/tools/redis-6003/data
#设置Redis密码
requirepass Re9Dis9?a
#开启Redis持久化AOF
appendonly yes
#配置主节点redis的密码,尽可能和主节点一致
masterauth Re9Dis9?a
#修改完保存启动
#查看log/redis.log日志,如下
172.1.1.2的6004从节点的Redis.conf文件
#bind进行注释
#bind 127.0.0.1
#修改端口port
port 6004
#开启集群模式并设置集群配置
cluster-enabled yes
#将cluster-config-file设置为自定义的文件
cluster-config-file nodes-6004.conf
#设置yes,其他服务器可以访问本地redis
protected-mode yes
#设置yes,开启线程守护后台运行
daemonize yes
#设置pid文件路径
pidfile /home/tools/redis-6004/run/redis.pid
#设置redis日志文件路径
logfile /home/tools/redis-6004/logs/redis.log
#设置Redis文件存储目录
dir /home/tools/redis-6004/data
#设置Redis密码
requirepass Re9Dis9?a
#开启Redis持久化AOF
appendonly yes
#配置主节点redis的密码,尽可能和主节点一致
masterauth Re9Dis9?a
#修改完保存启动
#查看log/redis.log日志,如下
172.1.1.2
172.1.1.3的7003主节点的Redis.conf文件
#bind进行注释
#bind 127.0.0.1
#修改端口port
port 7003
#开启集群模式并设置集群配置
cluster-enabled yes
#将cluster-config-file设置为自定义的文件
cluster-config-file nodes-7003.conf
#设置yes,其他服务器可以访问本地redis
protected-mode yes
#设置yes,开启线程守护后台运行
daemonize yes
#设置pid文件路径
pidfile /home/tools/redis-7003/run/redis.pid
#设置redis日志文件路径
logfile /home/tools/redis-7003/logs/redis.log
#设置Redis文件存储目录
dir /home/tools/redis-7003/data
#设置Redis密码
requirepass Re9Dis9?a
#配置主节点redis的密码,尽可能和主节点一致
masterauth Re9Dis9?a
#开启Redis持久化AOF
appendonly yes
#修改完保存启动
#查看log/redis.log日志,如下
172.1.1.3的6005从节点的Redis.conf文件
#bind进行注释
#bind 127.0.0.1
#修改端口port
port 6005
#开启集群模式并设置集群配置
cluster-enabled yes
#将cluster-config-file设置为自定义的文件
cluster-config-file nodes-6005.conf
#设置yes,其他服务器可以访问本地redis
protected-mode yes
#设置yes,开启线程守护后台运行
daemonize yes
#设置pid文件路径
pidfile /home/tools/redis-6005/run/redis.pid
#设置redis日志文件路径
logfile /home/tools/redis-6005/logs/redis.log
#设置Redis文件存储目录
dir /home/tools/redis-6005/data
#设置Redis密码
requirepass Re9Dis9?a
#配置主节点redis的密码,尽可能和主节点一致
masterauth Re9Dis9?a
#开启Redis持久化AOF
appendonly yes
#修改完保存启动
#查看log/redis.log日志,如下
172.1.1.3的6006从节点的Redis.conf文件
#bind进行注释
#bind 127.0.0.1
#修改端口port
port 6006
#开启集群模式并设置集群配置
cluster-enabled yes
#将cluster-config-file设置为自定义的文件
cluster-config-file nodes-6006.conf
#设置yes,其他服务器可以访问本地redis
protected-mode yes
#设置yes,开启线程守护后台运行
daemonize yes
#设置pid文件路径
pidfile /home/tools/redis-6006/run/redis.pid
#设置redis日志文件路径
logfile /home/tools/redis-6006/logs/redis.log
#设置Redis文件存储目录
dir /home/tools/redis-6006/data
#设置Redis密码
requirepass Re9Dis9?a
#配置主节点redis的密码,尽可能和主节点一致
masterauth Re9Dis9?a
#开启Redis持久化AOF
appendonly yes
#修改完保存启动
#查看log/redis.log日志,如下
二、集群设置
#任选一台机器的redis主节点(可能也不用非待主节点,没验证)执行下方命令
#其中 --cluster-replicas 2代表每个Master携带2个Slave
#那么就是三个Master,每个Master携带两个Slave
./bin/redis-cli -a Re9Dis9?a --cluster create --cluster-replicas 2 172.1.1.1:7001 172.1.1.2:7002 172.1.1.3:7003 172.1.1.1:6001 172.1.1.2:6003 172.1.1.3:6005 172.1.1.1:6002 172.1.1.2:6004 172.1.1.3:6006
下图中出现的告警不用管,是因为主从节点在一台服务器上,正常生产环境不会这样去做
添加三主7001 7002 7003 剩下的六从
三、Redis集群测试验证
#任选一个,登录
#-p指定端口 -c 指定集群模式登录 -a指定密码
#以上三个参数必须要有,不然可能会报错
./bin/redis-cli -p 7001 -c -a Re9Dis9?a
1、在172.1.1.1主节点进行登录并写入key-value;写入的可能是其他的主节点
2.登录7002节点服务器查看是否写入成功
3.再去7003节点服务器查看数据,也正常