Redis-3.2.1sentinel安装和配置小记-创新互联

环境描述:

成都创新互联公司是一家专业从事成都网站设计、成都网站制作、外贸网站建设、网页设计的品牌网络公司。如今是成都地区具影响力的网站设计公司,作为专业的成都网站建设公司,成都创新互联公司依托强大的技术实力、以及多年的网站运营经验,为您提供专业的成都网站建设、营销型网站建设及网站设计开发服务!

三台机器 192.168.21.6/7/8

redis版本: redis-3.2.1

分别在三台机器上安装redis:

解压:

# tar zxvf  redis-3.2.1.tar.gz -C /usr/local

重命名:

# mv /usr/local/redis-3.2.1 /usr/local/redis

安装:

# cd /usr/local/redis

# make 

# make install

# mkdir -p /usr/local/redis/etc

# cp /usr/local/redis/redis.conf /usr/local/redis/sentinel.conf /usr/local/redis/etc

登陆192.168.21.6,修改redis.conf:

#bind 127.0.0.1

bind 0.0.0.0

登陆192.168.21.7/8,修改redis.conf:

#bind 127.0.0.1

bind 0.0.0.0

slaveof  10.10.10.11  6379

保存退出,然后在三台机器上启动redis

/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf &

登陆192.168.21.6查看redis复制状态:

# redis-cli info replication

# Replication

role:master

connected_slaves:2

slave0:ip=192.168.21.8,port=6379,state=online,offset=198371,lag=0

slave1:ip=192.168.21.7,port=6379,state=online,offset=198371,lag=1

哨兵配置:

新建目录:

# mkdir -p /usr/local/redis/db_26379

三台机器上修改/usr/local/redis/sentinel.conf,加入如下配置:

dir "/usr/local/redis/db_26379"

pidfile "/usr/local/redis/db_26379/redis_26379.pid"

loglevel notice

logfile "/usr/local/redis/db_26379/sentinel.log"

bind 0.0.0.0

:x保存退出.

备注:其他配置的地方保持不变.

然后在192.168.21.6/7/8上分别启动哨兵sentinel:

/usr/local/bin/redis-server /usr/local/redis/etc/sentinel.conf --sentinel &

然后在三台机器192.168.21.6/7/8上执行手动添加master的操作:

# redis-cli  -p 26379 sentinel monitor chenfeng 192.168.21.6 6379 2

OK

查看日志:

# tail -f /data/redis/db_26379/sentinel.log 

24177:X 20 Sep 10:06:06.563 * +sentinel sentinel 4eca392422764f3e3f4c0df7aaafc71c416c1a33 127.0.0.1 26379 @ mymaster 127.0.0.1 6379

24177:X 20 Sep 10:06:07.816 * +sentinel-invalid-addr sentinel 4eca392422764f3e3f4c0df7aaafc71c416c1a33 127.0.0.1 26379 @ mymaster 127.0.0.1 6379

24177:X 20 Sep 10:06:07.816 * +sentinel sentinel 40df350a0e705be6cbafbd83ae18ba51964f3a21 127.0.0.1 26379 @ mymaster 127.0.0.1 6379

24177:X 20 Sep 10:06:08.573 * +sentinel-address-switch master mymaster 127.0.0.1 6379 ip 127.0.0.1 port 26379 for 1ecb5a5c14cb85b33935037182fb04d107b47c82

24177:X 20 Sep 10:06:09.854 * +sentinel-address-switch master mymaster 127.0.0.1 6379 ip 127.0.0.1 port 26379 for 4eca392422764f3e3f4c0df7aaafc71c416c1a33

24177:X 20 Sep 10:06:40.396 # +monitor master chenfeng 192.168.21.6 6379 quorum 2

24177:X 20 Sep 10:06:40.446 * +slave slave 192.168.21.7:6379 192.168.21.7 6379 @ chenfeng 192.168.21.6 6379

24177:X 20 Sep 10:06:40.447 * +slave slave 192.168.21.8:6379 192.168.21.8 6379 @ chenfeng 192.168.21.6 6379

24177:X 20 Sep 10:06:52.383 * +sentinel sentinel 1ecb5a5c14cb85b33935037182fb04d107b47c82 192.168.21.7 26379 @ chenfeng 192.168.21.6 6379

24177:X 20 Sep 10:06:54.482 * +sentinel sentinel 4eca392422764f3e3f4c0df7aaafc71c416c1a33 127.0.0.1 26379 @ chenfeng 192.168.21.6 6379

登陆192.168.21.6,手动模拟主库故障:

#redis-cli -p 6379 shutdown

查看日志:

# tail -f /data/redis/db_26379/sentinel.log 

24177:X 20 Sep 10:08:11.071 # +sdown master mymaster 127.0.0.1 6379

24177:X 20 Sep 10:08:11.071 # +sdown master chenfeng 192.168.21.6 6379

24177:X 20 Sep 10:08:11.172 # +odown master mymaster 127.0.0.1 6379 #quorum 4/2

24177:X 20 Sep 10:08:11.172 # +new-epoch 1

24177:X 20 Sep 10:08:11.172 # +try-failover master mymaster 127.0.0.1 6379

24177:X 20 Sep 10:08:11.181 # +vote-for-leader 4eca392422764f3e3f4c0df7aaafc71c416c1a33 1

24177:X 20 Sep 10:08:11.181 # +odown master chenfeng 192.168.21.6 6379 #quorum 3/2

24177:X 20 Sep 10:08:11.181 # +new-epoch 2

24177:X 20 Sep 10:08:11.181 # +try-failover master chenfeng 192.168.21.6 6379

24177:X 20 Sep 10:08:11.198 # +vote-for-leader 4eca392422764f3e3f4c0df7aaafc71c416c1a33 2

24177:X 20 Sep 10:08:11.198 # 4eca392422764f3e3f4c0df7aaafc71c416c1a33 voted for 4eca392422764f3e3f4c0df7aaafc71c416c1a33 1

24177:X 20 Sep 10:08:11.198 # 4eca392422764f3e3f4c0df7aaafc71c416c1a33 voted for 4eca392422764f3e3f4c0df7aaafc71c416c1a33 2

24177:X 20 Sep 10:08:11.198 # 40df350a0e705be6cbafbd83ae18ba51964f3a21 voted for 4eca392422764f3e3f4c0df7aaafc71c416c1a33 1

24177:X 20 Sep 10:08:11.198 # 1ecb5a5c14cb85b33935037182fb04d107b47c82 voted for 4eca392422764f3e3f4c0df7aaafc71c416c1a33 1

24177:X 20 Sep 10:08:11.198 # 1ecb5a5c14cb85b33935037182fb04d107b47c82 voted for 4eca392422764f3e3f4c0df7aaafc71c416c1a33 2

24177:X 20 Sep 10:08:11.260 # +elected-leader master chenfeng 192.168.21.6 6379

24177:X 20 Sep 10:08:11.260 # +failover-state-select-slave master chenfeng 192.168.21.6 6379

24177:X 20 Sep 10:08:11.360 # +selected-slave slave 192.168.21.7:6379 192.168.21.7 6379 @ chenfeng 192.168.21.6 6379

24177:X 20 Sep 10:08:11.361 * +failover-state-send-slaveof-noone slave 192.168.21.7:6379 192.168.21.7 6379 @ chenfeng 192.168.21.6 6379

24177:X 20 Sep 10:08:11.451 * +failover-state-wait-promotion slave 192.168.21.7:6379 192.168.21.7 6379 @ chenfeng 192.168.21.6 6379

24177:X 20 Sep 10:08:11.898 # +promoted-slave slave 192.168.21.7:6379 192.168.21.7 6379 @ chenfeng 192.168.21.6 6379

24177:X 20 Sep 10:08:11.898 # +failover-state-reconf-slaves master chenfeng 192.168.21.6 6379

24177:X 20 Sep 10:08:11.948 * +slave-reconf-sent slave 192.168.21.8:6379 192.168.21.8 6379 @ chenfeng 192.168.21.6 6379

24177:X 20 Sep 10:08:12.269 # +vote-for-leader 4eca392422764f3e3f4c0df7aaafc71c416c1a33 2

24177:X 20 Sep 10:08:12.270 # 4eca392422764f3e3f4c0df7aaafc71c416c1a33 voted for 4eca392422764f3e3f4c0df7aaafc71c416c1a33 2

24177:X 20 Sep 10:08:12.270 # 40df350a0e705be6cbafbd83ae18ba51964f3a21 voted for 4eca392422764f3e3f4c0df7aaafc71c416c1a33 2

24177:X 20 Sep 10:08:12.270 # 1ecb5a5c14cb85b33935037182fb04d107b47c82 voted for 4eca392422764f3e3f4c0df7aaafc71c416c1a33 2

24177:X 20 Sep 10:08:12.353 # +elected-leader master mymaster 127.0.0.1 6379

24177:X 20 Sep 10:08:12.353 # +failover-state-select-slave master mymaster 127.0.0.1 6379

24177:X 20 Sep 10:08:12.424 # +selected-slave slave 192.168.21.7:6379 192.168.21.7 6379 @ mymaster 127.0.0.1 6379

24177:X 20 Sep 10:08:12.424 * +failover-state-send-slaveof-noone slave 192.168.21.7:6379 192.168.21.7 6379 @ mymaster 127.0.0.1 6379

24177:X 20 Sep 10:08:12.491 * +failover-state-wait-promotion slave 192.168.21.7:6379 192.168.21.7 6379 @ mymaster 127.0.0.1 6379

24177:X 20 Sep 10:08:12.916 * +slave-reconf-inprog slave 192.168.21.8:6379 192.168.21.8 6379 @ chenfeng 192.168.21.6 6379

24177:X 20 Sep 10:08:12.916 * +slave-reconf-done slave 192.168.21.8:6379 192.168.21.8 6379 @ chenfeng 192.168.21.6 6379

24177:X 20 Sep 10:08:13.015 # +failover-end master chenfeng 192.168.21.6 6379

24177:X 20 Sep 10:08:13.015 # +switch-master chenfeng 192.168.21.6 6379 192.168.21.7 6379

24177:X 20 Sep 10:08:13.016 * +slave slave 192.168.21.8:6379 192.168.21.8 6379 @ chenfeng 192.168.21.7 6379

24177:X 20 Sep 10:08:13.016 * +slave slave 192.168.21.6:6379 192.168.21.6 6379 @ chenfeng 192.168.21.7 6379

24177:X 20 Sep 10:08:13.297 # +promoted-slave slave 192.168.21.7:6379 192.168.21.7 6379 @ mymaster 127.0.0.1 6379

24177:X 20 Sep 10:08:13.297 # +failover-state-reconf-slaves master mymaster 127.0.0.1 6379

24177:X 20 Sep 10:08:13.352 * +slave-reconf-sent slave 192.168.21.8:6379 192.168.21.8 6379 @ mymaster 127.0.0.1 6379

24177:X 20 Sep 10:08:14.345 * +slave-reconf-inprog slave 192.168.21.8:6379 192.168.21.8 6379 @ mymaster 127.0.0.1 6379

24177:X 20 Sep 10:08:14.345 * +slave-reconf-done slave 192.168.21.8:6379 192.168.21.8 6379 @ mymaster 127.0.0.1 6379

24177:X 20 Sep 10:08:14.420 # +failover-end master mymaster 127.0.0.1 6379

24177:X 20 Sep 10:08:14.420 # +switch-master mymaster 127.0.0.1 6379 192.168.21.7 6379

24177:X 20 Sep 10:08:14.420 * +slave slave 192.168.21.8:6379 192.168.21.8 6379 @ mymaster 192.168.21.7 6379

24177:X 20 Sep 10:08:14.420 * +slave slave 127.0.0.1:6379 127.0.0.1 6379 @ mymaster 192.168.21.7 6379

24177:X 20 Sep 10:08:43.065 # +sdown slave 192.168.21.6:6379 192.168.21.6 6379 @ chenfeng 192.168.21.7 6379

24177:X 20 Sep 10:08:44.465 # +sdown slave 127.0.0.1:6379 127.0.0.1 6379 @ mymaster 192.168.21.7 6379

24177:X 20 Sep 10:09:13.307 # -sdown slave 192.168.21.6:6379 192.168.21.6 6379 @ chenfeng 192.168.21.7 6379

24177:X 20 Sep 10:09:13.595 # -sdown slave 127.0.0.1:6379 127.0.0.1 6379 @ mymaster 192.168.21.7 6379

24177:X 20 Sep 10:09:23.221 * +convert-to-slave slave 192.168.21.6:6379 192.168.21.6 6379 @ chenfeng 192.168.21.7 6379

24177:X 20 Sep 10:09:25.310 * +slave slave 192.168.21.6:6379 192.168.21.6 6379 @ mymaster 192.168.21.7 6379

从以上日志里可以发现哨兵自动选举出了新的主库192.168.21.7,故障切换成功。

再次启动原主库192.168.21.6,成为了192.168.21.7的从库:

# redis-cli info replication

# Replication

role:slave

master_host:192.168.21.7

master_port:6379

master_link_status:up

master_last_io_seconds_ago:1

master_sync_in_progress:0

slave_repl_offset:25901

slave_priority:100

slave_read_only:1

connected_slaves:0

master_repl_offset:0

repl_backlog_active:0

repl_backlog_size:1048576

repl_backlog_first_byte_offset:0

repl_backlog_histlen:0

至此,哨兵模式安装和测试完毕。


名称栏目:Redis-3.2.1sentinel安装和配置小记-创新互联
本文URL:http://pwwzsj.com/article/dghicc.html