redis 单哨兵模式实现:
前提:完成redis主从架构 https://www.cnblogs.com/lifeiLinux/p/18317986
环境:
服务器:54主 53和52从
redis版本:3.2.13
54机器操作:
配置哨兵配置文件:
install -d /fan/etc/redis/
install -d /fan/{logs,data}/sentinel/
cat >/fan/etc/redis/sentinel.conf<<EOF
bind 192.168.15.54 127.0.0.1
port 16379
dir /fan/data/sentinel
sentinel monitor sentinel_master 192.168.15.54 6379 1
sentinel down-after-milliseconds sentinel_master 5000
sentinel auth-pass sentinel_master 456
EOF
后台启动哨兵
redis-sentinel /fan/etc/redis/sentinel.conf &> /fan/logs/sentinel/sentinel.log &
测试:手动停掉54主机的redis服务,观察sentinel.log日志主机切换过程
54、53和52机器上执行:
redis-cli -a 456 INFO REPLICATION
手动在启动54机器上redis服务
redis 多哨兵模式实现:
54机器操作:
配置哨兵配置文件:
install -d /fan/etc/redis/
install -d /fan/{logs,data}/sentinel/
cat >/fan/etc/redis/sentinel.conf<<EOF
bind 192.168.15.54 127.0.0.1
port 16379
dir /fan/data/sentinel
sentinel monitor sentinel_master 192.168.15.54 6379 2
sentinel down-after-milliseconds sentinel_master 5000
sentinel auth-pass sentinel_master 456
EOF
53机器操作:
配置哨兵配置文件:
install -d /fan/etc/redis/
install -d /fan/{logs,data}/sentinel/
cat >/fan/etc/redis/sentinel.conf<<EOF
bind 192.168.15.53 127.0.0.1
port 16379
dir /fan/data/sentinel
sentinel monitor sentinel_master 192.168.15.54 6379 2
sentinel down-after-milliseconds sentinel_master 5000
sentinel auth-pass sentinel_master 456
EOF
52机器操作:
配置哨兵配置文件:
install -d /fan/etc/redis/
install -d /fan/{logs,data}/sentinel/
cat >/fan/etc/redis/sentinel.conf<<EOF
bind 192.168.15.52 127.0.0.1
port 16379
dir /fan/data/sentinel
sentinel monitor sentinel_master 192.168.15.54 6379 2
sentinel down-after-milliseconds sentinel_master 5000
sentinel auth-pass sentinel_master 456
EOF
后台启动哨兵
redis-sentinel /fan/etc/redis/sentinel.conf &> /fan/logs/sentinel/sentinel.log &
测试:手动停掉54主机的redis服务,观察sentinel.log日志主机切换过程
54、53和52机器上执行:
redis-cli -a 456 INFO REPLICATION
手动在启动54机器上redis服务和哨兵服务,观察观察sentinel.log日志
参数说明:
bind 192.168.15.54 127.0.0.1
port 16379
dir /fan/data/sentinel
# sentinel monitor sentinel_master 192.168.15.54 6379 1:
#指定Redis初始集群的master库节点并命名为"sentinel_master",注意这个"1"的含义,他表示sentinel需要最少的投票数。这在于多sentinel的场景下很有用,由于本案例只是用了1个sentinel,因此我就设置为1。
#在生产环境中,我建议大家配置多sentinel的模式,建议最少设置为3(建议大家设置奇数)个sentinel物理节点,而后将此处的"1"改为"2",表示3个sentinel中最少有2个节点认为master库宕机时,才会真正意义上认为master库宕机。
sentinel monitor sentinel_master 192.168.15.54 6379 1
#监控sentinel集群时,如果超过了5000毫秒(即5秒)仍然没有响应,则sentinel会判定master库宕机了。
sentinel down-after-milliseconds sentinel_master 5000
#此密码跟requirepass保持一致 由于sentinel需要访问Redis集群,因此我们要设置访问整个集群的密码,我这里指定的密码为"456",这意味着所有的节点都使用相同的密码。
sentinel auth-pass sentinel_master 456
标签:实现,54,redis,哨兵,etc,fan,sentinel,master
From: https://www.cnblogs.com/lifeiLinux/p/18322779