记录一次部署一个三节点的哨兵集群踩坑经历

Posted 背井

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记录一次部署一个三节点的哨兵集群踩坑经历相关的知识,希望对你有一定的参考价值。

1、redis-mster节点【IP 172.16.198.135】

1.1、建俩文件目录
mkdir /etc/sentinel
mkdir -p /var/sentinel/5000
1.2、在 /etc/sentinel下创建sentinel.conf文件
vi sentinel.conf
1.3、sentinel.conf内容
port 5000
dir /var/sentinel/5000
sentinel monitor mymaster 172.16.198.135 6379 2
sentinel auth-pass mymaster master-slave
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 60000
bind 172.16.198.135
protected-mode yes

2、redis-slaver-1节点【172.16.198.136】

2.1、建俩文件目录
mkdir /etc/sentinel
mkdir -p /var/sentinel/5000
2.2、在/etc/sentinel下创建sentinel.conf文件
vi sentinel.conf
2.3、sentinel.conf内容
port 5000
dir /var/sentinel/5000
sentinel monitor mymaster 172.16.198.135 6379 2
sentinel auth-pass mymaster master-slave
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 60000
bind 172.16.198.136
protected-mode yes

3、redis-slaver-2节点【172.16.198.137】

3.1、建俩文件目录
mkdir /etc/sentinel
mkdir -p /var/sentinel/5000
3.2、在 /etc/sentinel下创建sentinel.conf文件
vi sentinel.conf
3.3、sentinel.conf内容
port 5000
dir /var/sentinel/5000
sentinel monitor mymaster 172.16.198.135 6379 2
sentinel auth-pass mymaster master-slave
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 60000
bind 172.16.198.137
protected-mode yes

4、配置成功以后依次启动

4.1、启动172.16.198.135
命令
[root@emooco sentinel]# redis-sentinel /etc/sentinel/sentinel.conf

图解

4.2、启动172.16.198.136
命令
[root@emooco sentinel]# redis-sentinel /etc/sentinel/sentinel.conf

图解

4.3、启动172.16.198.137
命令
[root@emooco sentinel]# redis-sentinel /etc/sentinel/sentinel.conf

图解

5、检查哨兵状态

5.1、从IP为172.16.198.135的机器上查看哨兵状态
[root@emooco sentinel]# redis-cli -h 172.16.198.135 -p 5000

redis-cli -h 【哨兵所在的IP】 -p 【哨兵端口号】
也可以从其他机器上查看哨兵状态

5.2、检查命令的解释

ping 正常会返回pong
sentinel masters 返回被监视的所有master及状态
sentinel master <master name> 返回指定的master及状态
setntinel slaves <master name>返回slave及状态
sentinel sentinels <master name> 返回sentinel及状态
sentinel get-master-addr-by-name mymaster 返回现在的master IP和Port
sentinel reset * 清理已经移除的master-slave或者sentinel信息
sentinel failover <master name>手动执行故障转移
sentinel ckquorum <master name> 返回(OK 3 usable Sentinels. Quorum and failover authorization can be reached)
sentinel flushconfig 如果sentinel.conf丢失,可以使用这个命令生成新的配置文件

5.3、图解比如获取meter节点信息

6、sentinel.conf里的相关配置的解释

图解-

sentinel.conf 文件redis就在安装包的解压目录里面,哨兵的配置相关的解释可以在上图红色标注的面找到

7、踩坑

7.1、杀进程
ps -ef | grep redis
kill -9 30477
kill -9 114525

7.2、重新配置redis.conf文件
[root@emooco redis]# pwd
/etc/redis
vi 6379.conf

[可以参考这篇文章](https://blog.csdn.net/wildwolf_001/article/details/115356542)

7.3、重新配置sentinel.conf文件
[root@emooco sentinel]# pwd
/etc/sentinel

vi sentinel.conf
7.4、删除pid文件
[root@emooco run]# pwd
/var/run

rm -rf redis_6379.pid
rm -rf redis-sentinel.pid

如果有redis-sentinel.pid文件也要删除

7.5、重启redis
[root@emooco sentinel]# cd /etc/init.d/
[root@emooco sentinel]# ./redis_6379 start
7.6、重启sentinel
[root@emooco sentinel]# redis-sentinel /etc/sentinel/sentinel.conf

以上是关于记录一次部署一个三节点的哨兵集群踩坑经历的主要内容,如果未能解决你的问题,请参考以下文章

Redis哨兵模式集群部署

Redis 主从复制-哨兵-集群 相关部署

24_在项目中以经典的3节点方式部署哨兵集群

Redis(主从复制哨兵模式集群)概述及部署

记录一次在阿里云ECS服务器部署验证RocketMQ的经历

Redis主从加哨兵模式集群部署