Redis開發與運維之第九章哨兵(三)--Redis Sentinel架構搭建重要點總結

介紹如何安裝和部署Redis Sentinel

 

 

部署Redis數據節點 

 Redis Sentinel中Redis數據節點沒有做任何特殊配置,複製redis.conf文件一份 根據以下提示查找

1.啓動主節點

redis-6379.conf
port 6379
daemonize yes
logfile "6379.log"
dbfilename "dump-6379.rdb"
dir "/opt/soft/redis/data/"
redis-server redis-6379.conf

確認是否啓動。一般來說只需要ping命令檢測一下就可以,確認Redis數據節點是否已經啓動。

redis-cli -h 127.0.0.1 -p 6379 ping

 此時此刻,拓補結構圖是

 2. 啓動兩個從節點

兩個從節點的配置是完全一樣的,下面以一個從節點爲例子進行說明,和主節點的配置不一樣的是添加了slaveof配置 

redis-6380.conf
port 6380
daemonize yes
logfile "6380.log"
dbfilename "dump-6380.rdb"
dir "/opt/soft/redis/data/"
slaveof 127.0.0.1 6379

啓動兩個從節點

redis-server redis-6380.conf
redis-server redis-6381.conf
redis-cli -h 127.0.0.1 -p 6380 ping
PONG
$ redis-cli -h 127.0.0.1 -p 6381 ping
PONG

3.確認主從關係

主節點的視角,它有兩個從節點,分別是127.0.0.1:6380和127.0.0.1:6381

$ redis-cli -h 127.0.0.1 -p 6379 info replication
# Replication
role:master
connected_slaves:2
slave0:ip=127.0.0.1,port=6380,state=online,offset=281,lag=1
slave1:ip=127.0.0.1,port=6381,state=online,offset=281,lag=0
.....

 從節點的視角,它的主節點是127.0.0.1:6379

$ redis-cli -h 127.0.0.1 -p 6380 info replication
# Replication
role:slave
master_host:127.0.0.1
master_port:6379
master_link_status:up
....

 拓補圖結構

部署Sentinel節點

3個Sentinel節點的部署方法是完全一致的(端口不同),下面以sentinel-1節點的部署爲例子 

1.配置Sentinel節點 :

redis-sentinel-26379.conf
port 26379
daemonize yes
logfile "26379.log"
dir /opt/soft/redis/data
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000

 以上是核心配置內容提示

1)Sentinel節點的默認端口是26379。
2)sentinel monitor mymaster127.0.0.163792配置代表sentinel-1節點需要監控127.0.0.1:6379這個主節點,2代表判斷主節點失敗至少需要2個Sentinel節點同意,mymaster是主節點的別名,其餘Sentinel配置將在下一節進行詳細說明。

2.啓動Sentinel節點

Sentinel節點的啓動方法有兩種:

方法一,使用redis-sentinel命令:

redis-sentinel redis-sentinel-26379.conf

 方法二,使用redis-server命令加--sentinel參數

redis-server redis-sentinel-26379.conf --sentinel

3.確認

     Sentinel節點本質上是一個特殊的Redis節點,所以也可以通過info命令來查詢它的相關信息,從下面info的Sentinel片段來看,Sentinel節點找到了主節點127.0.0.1:6379,發現了它的兩個從節點,同時發現Redis Sentinel一共有3個Sentinel節點。這裏只需要瞭解Sentinel節點能夠彼此感知到對方,同時能夠感知到Redis數據節點就可以了

$ redis-cli -h 127.0.0.1 -p 26379 info Sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
master0:name=mymaster,status=ok,address=127.0.0.1:6379,slaves=2,sentinels=3

 至此Redis Sentinel已經搭建起來了,整體上還是比較容易的,但是有2點需要強調一下

1)生產環境中建議Redis Sentinel的所有節點應該分佈在不同的物理機上。
2)Redis Sentinel中的數據節點和普通的Redis數據節點在配置上沒有任何區別,只不過是添加了一些Sentinel節點對它們進行監控。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章