详解Centos7 安装redis集群哨兵模式

一、整体哨兵模式规划

redis节点规划:6381 (master), 6382 (slave),6383 (slave),6384 (slave)
sentinel模式节点规划:26381 , 26382

二、Redis主从安装步骤

1、 Redis安装
2、在/usr/local/目录下创建 redis-sentinel文件夹

在这里插入图片描述

3、进入/usr/local/redis-sentinel目录下,创建文件夹 master-6381 ,slave-6382 ,slave-6383 ,slave-6384 ,sentinel-26381 ,sentinel-26382

如图所示:
在这里插入图片描述

4、把单机版安装目录下redis.conf拷贝到目录下 master-6381 slave-6382 slave-6383 slave-6384

详解Centos7 安装redis集群哨兵模式_第1张图片

5、把单机版安装目录下 sentinel.conf 拷贝到 sentinel-26381 ,sentinel-26382

在这里插入图片描述

6、修改/usr/local/redis-sentinel/master-6381/目录下 redis.conf 配置文件 (主服务器)
  • bind 192.168.1.62 --修改成自己的IP地址
  • port 6381 --主服务器的端口号
  • daemonize yes --后台启动
  • pidfile /var/run/redis_6381.pid – redis 后台启动的时候,会在/var/run/默认生成一个pid文件
  • protected-mode no–保护模式关闭,否则启动哨兵的时候,无法正常运行(还可以设置密码的方式)
  • dir /usr/local/redis-sentinel/master-6381/data --数据保存目录
7、修改/usr/local/redis-sentinel/slave-6382/目录下 redis.conf 配置文件 (从服务器)
  • bind 192.168.1.62 --修改成自己的IP地址
  • port 6382 --主服务器的端口号
  • daemonize yes --后台启动
  • pidfile /var/run/redis-6382.pid – redis 后台启动的时候,会在/var/run/默认生成一个pid文件
  • protected-mode no–保护模式关闭,否则启动哨兵的时候,无法正常运行(还可以设置密码的方式)
  • dir /usr/local/redis-sentinel/slave-6382/data --数据保存目录
  • slaveof 192.168.1.62 6381 --主服务器的IP 主服务器端口号,这句命令 手动添加在配置文件中
8、其他从服务器类似步骤7
9、一定要注意创建data,否则会报错
10、步骤9执行完后,就可以正常运行了
  #进入src目录下,执行一下四条命令:
./redis-server  /usr/local/redis-sentinel/master-6381/redis.conf
./redis-server  /usr/local/redis-sentinel/slave-6382/redis.conf
./redis-server  /usr/local/redis-sentinel/slave-6383/redis.conf
./redis-server  /usr/local/redis-sentinel/slave-6384/redis.conf

查看进程:
详解Centos7 安装redis集群哨兵模式_第2张图片

11、启动完成后,连接主服务器客户端,查看主服务器信息 info
 #在src目录下,-p是指定端口号
./redis-cli -h 192.168.1.62 -p 6381
 #进入以后输入info
info

详解Centos7 安装redis集群哨兵模式_第3张图片

12、可以尝试在主服务器节点上添加一个值,看看是否能同步到从服务器上去

详解Centos7 安装redis集群哨兵模式_第4张图片

三、在步骤二完成的基础上添加哨兵监控主节点

1、修改/usr/local/redis-sentinel/sentinel-26381目录下的sentinel.conf
  • port 26381 – 指定sentinel端口号
  • daemonize yes – 指定sentinel为后台启动
  • protected-mode no --关闭保护模式
  • sentinel monitor mymaster [主服务器节点IP] [主服务器节点port] [几个哨兵检测到主节点失联数量] – 至少有几个哨兵检测到主服务器故障了,才进行故障迁移 ,实例 sentinel monitor mymaster 192.168.1.62 6381 2
  • sentinel down-after-milliseconds mymaster 30000 --指定Sentinel判定Master断线的时间
  • logfile “/usr/local/redis-sentinel/sentinel-26381/sentinel-26381.log”
  • dir “/usr/local/redis-sentinel/sentinel-26381/data”
2、修改/usr/local/redis-sentinel/sentinel-26382目录下的sentinel.conf
  • port 26382 – 指定sentinel端口号
  • daemonize yes – 指定sentinel为后台启动
  • protected-mode no --关闭保护模式
  • sentinel monitor mymaster [主服务器节点IP] [主服务器节点port] [几个哨兵检测到主节点失联数量] – 至少有几个哨兵检测到主服务器故障了,才进行故障迁移 ,实例 sentinel monitor mymaster 192.168.1.62 6381 2
  • sentinel down-after-milliseconds mymaster 30000–指定Sentinel判定Master断线的时间
  • logfile “/usr/local/redis-sentinel/sentinel-26382/sentinel-26382.log”
  • dir “/usr/local/redis-sentinel/sentinel-26382/data”
3、启动哨兵,并查看哨兵日志
#进入src目录下
#启动哨兵(可通过查看进程判断是否启动  ps -ef | grep sen)
./redis-sentinel  /usr/local/redis-sentinel/sentinel-26381/sentinel.conf 
./redis-sentinel  /usr/local/redis-sentinel/sentinel-26382/sentinel.conf
#查看日志
tail -f /usr/local/redis-sentinel/sentinel-26381/sentinel-26381.log 
tail -f /usr/local/redis-sentinel/sentinel-26382/sentinel-26382.log  
4、直接把master节点进程kill掉,再次观看哨兵日志

在杀掉主节点进程的时候,没有发生主从切换,并且日志打印如下,解决方法时 在sentinel.conf配置文件中添加 protected-mode no (这个的前提是redis.conf文件的配置也是 protected-mode no )
详解Centos7 安装redis集群哨兵模式_第5张图片

5、解决4的问题后,重新启动sentinel,杀掉主节点进程和查看sentinel日志
  1. 主节点从6381变成6384
    详解Centos7 安装redis集群哨兵模式_第6张图片
  2. 把节点6384的进程杀掉,主节点变成6382了
    详解Centos7 安装redis集群哨兵模式_第7张图片

你可能感兴趣的:(Redis,Linux)