redis集群下添加的key在那个节点 redis集群加入新的节点
转载
- 简介
Sentinel:哨兵模式,是一个分布式系统,该进程是用于监控redis集群中Master主服务器工作的状态,
在Master主服务器发生故障的时候,可以实现Master和Slave服务器的切换,保证系统的高可用,其已经被
集成在redis 2.6 +的版本中,Redis的哨兵模式到了2.8版本之后就得到了稳定。 - 哨兵模式的环境:
a:Master主服务器配置信息:IP:192.168.191.101, Port:6379,OS:Linux
b: Slave从服务器的配置信息: IP:192.168.191.102, Port:6379,OS:Linux
c: Slave从服务器的配置信息:IP:192.168.191.103, Port:6379,OS:Linux - 哨兵模式的配置(3台机器同步修改)
⑴创建/etc/sentinal和/var/sentinal/5000目录
⑵将/usr/local/module/redis-5.0.5目录下sentinel.conf拷贝到/etc/sentinal目录下,并且名称修改为5000.conf
⑶修改5000.conf(不同的机器不同的IP地址)
#端口为5000
port 5000
#守护进程模式
daemonize yes
#指明日志文件名
logfile "/usr/local/module/redis-5.0.5/logs/sentinel.log"
#设置绑定IP地址,不同的机器不同的IP地址
bind 192.168.191.101 127.0.0.1
protected-mode no
#哨兵程序的日志路径
dir /var/sentinal/5000
#哨兵程序的日志路径
logfile "/usr/local/module/redis-5.0.5/logs/sentinel.log"
sentinel announce-ip 192.168.191.103
#给监控的master指定的一个名称,哨兵监控这个master,在至少quorum个哨兵实例都认为master down后把master标记为odown,这个IP地址必须是master的
sentinel monitor mymaster 192.168.191.101 6379 2
#在搭建redis集群时如果指定了主节点的"requirepass",这个就必须保持一致
sentinel auth-pass mymaster redis-pass
# master或slave多长时间(默认30秒)不能使用后标记为s_down状态。
sentinel down-after-milliseconds mymaster 30000
# 若sentinel在该配置值内未能完成failover操作(即故障时master/slave自动切换),则认为本次failover失败。
sentinel failover-timeout mymaster 60000
#parallel-syncs,新的master别切换之后,同时有多少个slave被切换到去连接新master,重新做同步,数字越低,花费的时间越多
#假设你的redis是1个master,4个slave
#然后master宕机了,4个slave中有1个切换成了master,剩下3个slave就要挂到新的master上面去
#这个时候,如果parallel-syncs是1,那么3个slave,一个一个地挂接到新的master上面去,1个挂接完,而且从新的master sync完数据之后,再挂接下一个
#如果parallel-syncs是3,那么一次性就会把所有slave挂接到新的master上去
sentinel parallel-syncs mymaster 1
- 启动哨兵进程
⑴简介
在eshop-cache01、eshop-cache02、eshop-cache03三台机器上,分别启动三个哨兵进程,组成一个集群,
观察一下日志的输出
⑵启动eshop-cache01,eshop-cache02、eshop-cache03的哨兵,进入/usr/local目录下
命令:redis-sentinel /etc/sentinal/5000.conf,效果如下
- 检查哨兵状态
⑴命令
redis-cli -h ip地址 -p 端口
查询master状态:sentinel master mymaster
查询slaves状态:SENTINEL slaves mymaster
获取master节点信息:SENTINEL get-master-addr-by-name mymaster
使用info命令查询: - 下面我们redis将master节点停掉,看看哨兵会不会重新选举
a:停止master节点
b:看哨兵效果:
c:查看哨兵状态
并且102切换为主节点后,也可以向里面写数据了
重新启动101节点,它将会作为一个slave节点连接上去:
- 综上,哨兵成功搭建,并且完成主备切换的功能。
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。