redis哨兵实现

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 
posted @ 2024-07-25 12:56  运维实习生  阅读(19)  评论(0)    收藏  举报