| 角色 | ip | 端口 | 配置文件 | 登录密码 |
| 主 | 对外访问的ip地址,不能是127.0.0.1 | 6379 | 6379.conf | 123456 |
| 从1 | 对外访问的ip地址,不能是127.0.0.1 | 6380 | 6380.conf | 123456 |
| 从2 | 对外访问的ip地址,不能是127.0.0.1 | 6381 | 6381.conf | 123456 |
| 从3 | 对外访问的ip地址,不能是127.0.0.1 | 6382 | 26379.con | 123456 |
redis版本号是6.0.6,一主三从,配置如上图。在配置每一个redis实例的时候,
#replicaof ip port ip地址必须是对外的真实ip地址
配置文件存放在/etc/redis目录下

redis实例的配置文件主要修改以下几个地方
#这两个密码要一致
#登录密码
requirepass 123456
#同步主节点的登录密码
masterauth 123456
# 任何主机都可以连接redis实例
bind 0.0.0.0
#从节点需要配置的信息,同步主节点的地址
# 真实ip地址目的是,在配置哨兵的时候,java端可以访问到真实的ip地址,去操作redis实例数据
replicaof 真实IP地址 6379
使用系统命令启动四个实例节点和哨兵节点
shell> systemctl restart redis_6379
shell> systemctl restart redis_6379
shell> systemctl restart redis_6379
shell> systemctl restart redis_6379
#启动哨兵命令, 安装目录和配置文件地址,需要注意一下,安装自己的路径指定
shell> /opt/redis5/bin/redis-sentinel /etc/redis/26379.conf --sentinel
启动完成后登录主节点:查看集群状态,并设置一个key的值,验证从节点是否同步


关闭主节点,验证是否进行故障转移:
#在主节点执行shutdown命令
自动选出一个新节点为主节点:
重新启动关闭的节点,查看是否以从节点身份加入到集群中


哨兵命令配置文件内容:
sentinel myid bfdf8c344645fbe28013e5751125449a12d5bead
port 26379
protected-mode yes
sentinel deny-scripts-reconfig yes
sentinel monitor myredis 127.0.0.1 6381 1
sentinel down-after-milliseconds myredis 5000
sentinel auth-pass myredis 123456
sentinel config-epoch myredis 7
requirepass 123456
# Generated by CONFIG REWRITE
user default on #8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92 ~* +@all
dir "/etc/redis"
sentinel leader-epoch myredis 7
sentinel known-replica myredis 127.0.0.1 6380
sentinel known-replica myredis 127.0.0.1 6379
sentinel known-replica myredis 127.0.0.1 6382
sentinel current-epoch 7
配置Redis的一主三从结构,每个实例的配置文件中包含对外访问的非回环IP地址、端口号和密码。哨兵系统用于监控和故障转移,确保在主节点关闭时能自动选举新的主节点。Java客户端可以通过哨兵获取真实IP进行数据操作。
1017

被折叠的 条评论
为什么被折叠?



