redis(五)哨兵机制剖析

redis(五)哨兵机制剖析

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

1.搭建主从

[1]复制两份redis.conf 并且重命名

image.png

[2]更改配置文件

  • 三个配置文件端口分别为:6379、6380、6381

  • 在从节点6380、6381的配置文件最后加上配置:

slaveof 192.168.71.128 6379
  • 启动主从三个节点
#分别执行下面三条命令启动三个节点
[root@localhost bin]# redis-server redis.conf &
[root@localhost bin]# redis-server redis6380.conf &
[root@localhost bin]# redis-server redis6381.conf &

从节点启动时,日志会打印 image.png

  • 查看节点状态:
#先连接上主节点客户端(当然也可以连接其他节点的客户端)
[root@localhost bin]# redis-cli -h 192.168.71.128 -p  6379
#查看节点的状态
info replication

image.png

2.搭建哨兵

更改配置文件

  • 去redis的src文件夹下复制sentinel.conf并且分别重命名为sentinel26379.conf、sentinel26380.conf、sentinel26381.conf

  • 更改三个配置文件的内容

    • 更改端口分别为 26379、26380、26381

    • 更改配置:sentinel monitor mymaster 192.168.71.128 6379 2( 格式:Sentinel monitor <自定义主服务器name> <Quorum投票数>)

    • port :指定启动服务的端口号;

    • Sentinel monitor

    • name :redis主服务名称,可以自行命名,但是在一个sentinel网络中,一个redis主服务只能有一个名称; 本次在两个服务器分别有一个master,分别命名为s1,s2。

    • ip和port :redis主服务的IP地址和端口号;

    • quorum :表示要将这个主服务器判断为失效并下线至少需要2个sentinel同意;

启动三个哨兵

sentinel26379.conf
sentinel26380.conf
sentinel26381.conf

模拟故障

#模拟主节点 宕机
redis-cli -h 192.168.71.128 -p  6379
shutdown

可以看到日志: image.png

表明选举新的主节点6381成功。

哨兵其他配置

image.png

image.png

image.png

image.png

image.png

image.png

使用shell 一键部署

在conf配置文件同级目录下建立shell脚本 image.png

./redis-server redis.conf &
cd ..
cd bin
./redis-server redis6380.conf &
cd ..
cd bin
./redis-server redis6381.conf &
cd ..
cd bin
./redis-sentinel sentinel26379.conf &
cd ..
cd bin
./redis-sentinel sentinel26380.conf &
cd ..
cd bin
./redis-sentinel sentinel26381.conf &
cd ..

使用shell 一键停止

#start-all.sh
./redis-cli -h 192.168.71.128 -p 6379 shutdown
cd ..
cd bin
./redis-cli -h 192.168.71.128 -p 6380 shutdown
cd ..
cd bin
./redis-cli -h 192.168.71.128 -p 6381 shutdown
cd ..
cd bin
./redis-cli -p 26379 shutdown
cd ..
cd bin
./redis-cli -p 26380 shutdown
cd ..
cd bin
./redis-cli -p 26381 shutdown
cd ..

赋予shell权限

chmod +x start-all.sh
chmod +x stop-all.sh

运行shell脚本

#启动
./start-all.sh
#停止
./stop-all.sh

参考博客

搭建一个简单的redis-sentinel(哨兵机制)集群

Redis 集群和 Sentinel 高可用Redis哨兵监听模式

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×