# 添加软件安装源 yum install epel-release # 安装redis yum install redis -y # 启动redis、启动redis哨兵 systemctl start redis systemctl start redis-sentinel # 允许开机启动 systemctl enable redis systemctl enable redis-sentinel # 之后进行配置修改:为哨兵集群,重启启动服务
#这里假设配置1主2从3哨兵 主机地址:192.168.0.0 从机地址:192.168.0.1 , 192.168.0.2 # 主机修改redis配置文件:vi /etc/redis.conf # 1. 修改绑定ip为服务器内网ip地址,做绑定,三台各自填写各自的ip地址 bind 192.168.0.0 # 2. 保护模式修改为否,允许远程连接 protected-mode no # 4. 设定密码 requirepass ok # 5. 设定主库密码与当前库密码同步,保证从库能够提升为主库 masterauth ok # 6. 打开AOF持久化支持 appendonly yes #从机同主机相同 bind主机地址 slaveof 192.168.0.0 6379
#三台机器都修改vi /etc/redis-sentinel.conf配置 #禁止保护模式 protected-mode no #配置监听的主服务器,这里 sentinel monitor 代表监控 #mymaster代表服务器名称,可以自定义 #192.168.0.0代表监控的主服务器 #6379代表端口 #2代表只有两个或者两个以上的烧饼认为主服务器不可用的时候,才会做故障切换操作 sentinel monitor mymaster 192.168.0.0 6379 2 #sentinel auth-pass 定义服务的密码 #mymaster服务名称 #ok Redis服务器密码 #注意 这句话必须放在sentinel monitor mymaster 下面否则会报错 sentinel auth-pass mymaster ok
#重启redis和哨兵服务 systemctl restart redis systemctl restart redis-sentinel #数据同步测试 三台机器各自启动自己的客户端 redis-cli -h 192.168.0.0 -a ok redis-cli -h 192.168.0.1 -a ok redis-cli -h 192.168.0.2 -a ok #分别使用命令查看集群状态 info replication #在主节点上写入数据 查看从机是否备份数据(这里注意从节点不能写入数据) set aaa "aaa" get aaa #直接shutdown主节点 等会查看从节点情况 会有一台从节点转为主节点 #此时再恢复原主节点 发行原主节点只能成为slave节点
server: port: 12000 spring: redis: sentinel: master: mymaster nodes: 192.168.0.0:26379,192.168.0.1:26379,192.168.0.2:26379 database: 0 password: ok host: 192.168.0.0 port: 6379