Redis-3.2.1 sentinel安裝和配置小記
環境描述:
三臺機器 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
至此,哨兵模式安裝和測試完畢。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2214540/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- proxysql安裝和使用小記SQL
- redis sentinel哨兵模式安裝部署和切換Redis模式
- ArchLinux 安裝小記Linux
- 安裝和配置sendmailAI
- yarn 安裝使用小記Yarn
- 11. Oracle for Linux安裝和配置——11.2. Linux安裝和配置——11.2.2.Linux安裝(1)OracleLinux
- 11. Oracle for Linux安裝和配置——11.2. Linux安裝和配置——11.2.2.Linux安裝(2)OracleLinux
- 11. Oracle for Linux安裝和配置——11.2. Linux安裝和配置——11.2.5. Linux配置OracleLinux
- Jemeter-安裝和配置
- (MAC) PHP安裝和配置MacPHP
- Flutter的安裝和配置Flutter
- Barrier 的安裝和配置
- Kibana 和 Logstash 安裝配置
- Git筆記(3) 安裝配置Git筆記
- 11. Oracle for Linux安裝和配置—11.3. Oracle安裝和配置—11.3.1. Oracle軟體安裝OracleLinux
- 11. Oracle for Linux安裝和配置—11.3. Oracle安裝和配置—11.3.3. Oracle net配置OracleLinux
- docker 安裝部署 supervisor 小記Docker
- iOS安裝包瘦身小記iOS
- Java安裝和環境配置Java
- nvm-windows安裝和配置Windows
- Gin 框架 - 安裝和路由配置框架路由
- Linux 7安裝和配置phpmyadminLinuxPHP
- [實踐]wireguard安裝和配置
- vue測試安裝和配置Vue
- nodejs和npm安裝與配置NodeJSNPM
- Python 下載安裝和配置Python
- nodejs下載、安裝和配置NodeJS
- elasticsearch匯入匯出工具elasticdump安裝和使用小記Elasticsearch
- 11. Oracle for Linux安裝和配置——11.2. Linux安裝和配置——11.2.1. 簡介OracleLinux
- Pycharm 個人安裝小記錄PyCharm
- Windows 11 安裝wsl小記錄Windows
- Redis for linux原始碼&叢集(cluster)&主從(master-slave)&哨兵(sentinel)安裝配置RedisLinux原始碼AST
- 11. Oracle for Linux安裝和配置——11.2. Linux安裝和配置——11.2.4. Linux命令(1)OracleLinux
- 11. Oracle for Linux安裝和配置——11.2. Linux安裝和配置——11.2.4. Linux命令(2)OracleLinux
- 11. Oracle for Linux安裝和配置——11.2. Linux安裝和配置——11.2.3. Linux登入OracleLinux
- 11. Oracle for Linux安裝和配置——11.2. Linux安裝和配置——11.2.4. Linux命令(3)OracleLinux
- Expo 環境配置和安裝指南
- Nginx的安裝和多域名配置Nginx