CentOS 7 Install Redis sentinel 哨兵模式 - IT 484

Centos 7 Install Redis sentinel 哨兵模式 – IT 484

Redis sentinel 哨兵模式,主要管理多組 master-slave 主從實例, 進行主從切換及故障維護,在 Centos 7 上安裝哨兵模式,可以使用 yum 來達成,與其他模式不同的是設定檔配置,安裝的套件與單機模式相同。

功能簡介

Redis 是一個高性能鍵值儲存的記憶體型的資料庫,支援資料的持久化,可以將記憶體的資料儲存在磁碟,重啟後可以再重新載入,同時提供 list,set,zset,hash 等資料結構儲存,也支援資料備份,即主從模式的資料備份。

主機架構

建置一主二從三哨兵的主機架構,若資源不足的狀況下,也可考慮在同一台主機,以 port 區分建置以下六個實例。

Node IP Port
Master 192.168.1.100 6379
Slave 1 192.168.1.101 6379
Slave 2 192.168.1.102 6379
Sentinel 1 192.168.1.100 26379
Sentinel 2 192.168.1.101 26379
Sentinel 3 192.168.1.102 26379

安裝套件

CentOS 7 Install Redis Sentinel

從套件庫,使用 yum 命令安裝。

yum install redis

修改內核

調整參數。

vim /etc/sysctl.conf
vm.overcommit_memory=1

重新載入。

sysctl -p

組態設定

Master

vim /etc/redis.conf
bind 0.0.0.0
port 6379
daemonize yes
pidfile /var/run/redis_6379.pid
logfile /var/log/redis/redis.log
dir /var/lib/redis
databases 16
requirepass password
appendonly yes
masterauth password

Slave 1 / 2

vim /etc/redis.conf
bind 0.0.0.0
port 6379
daemonize yes
pidfile /var/run/redis_6379.pid
logfile /var/log/redis/redis.log
dir /var/lib/redis
databases 16
requirepass password
appendonly yes
masterauth password
#slaveof 192.168.1.100 6379
slaveof masterip masterport

Sentinel 1 / 2 / 3

vim /etc/redis-sentinel.conf
bind 0.0.0.0
port 26379
daemonize yes
pidfile /var/run/redis_26379.pid
dir /tmp
sentinel monitor mymaster masterip masterport
sentinel auth-pass mymaster password
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 180000
logfile /var/log/redis/sentinel.log

防火牆設定

開通防火牆

使用 firewall-cmd 命令來開通防火牆。

firewall-cmd --permanent --add-port=26379

重載防火牆

使用 firewall-cmd 命令來重載防火牆,立即生效。

firewall-cmd --reload

運行管理

啟動服務

安裝完成後,並不會自動啟動服務,使用 systemctl start 命令來啟動服務。

systemctl start redis
systemctl start redis-sentinel

開機啟動

實現主機重開時,可以自動啟動服務,使用 systemctl enable 命令來啟用開機啟動。

systemctl enable redis
systemctl enable redis-sentinel

停止服務

啟動服務後,使用 systemctl stop 命令終止服務運行。

systemctl stop redis
systemctl stop redis-sentinel

狀態驗證

Install Redis Centos 查看服務狀況,並使用客端連線,查看目前資訊。

systemctl status redis-sentinel

● redis-sentinel.service - redis-sentinel
   Loaded: loaded (/usr/lib/systemd/system/redis-sentinel.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2022-04-05 22:01:12 CST; 3 weeks 1 days ago
     Docs: man:redis-sentinel.service(8)
 Main PID: 25912 (redis)

測試連線

使用命令列,連上服務

redis-cli -a password -p 26379 info sentinel 

sentinel_masters:1
sentinel_tilt:0
redis-cli -a password -p 26379

127.0.0.1:6379>exit

心得分享

CentOS Install Redis 安裝哨兵模式,實現自動容錯,會將其中一個從節點推選為新的主節點,並設定其他從節點使用新的主節點,而客戶端也不需手動修改配置並重新取得新的連線,除此之外還有其他模式:

發佈留言