專案架構之三主三從三Sentinel筆記(13)
阿新 • • 發佈:2018-12-24
一:Sentinel 【哨兵】
1. Sentinel是幹嘛的呢??
用於監視master是否正常線上,如果說master掛掉了,sentinel會讓slave頂上去。
2. 開多少Sentinel適合?
開3個Sentinel,或者說開奇數個,Sentinel的原理就是一直監視著master是否線上,
如果掛掉,sentinel的叢集會選舉中一個零頭的sentinel,然後由領頭的sentinel
執行slaveof命令,讓slave作為master,然後sentinel叢集繼續監視著新的master,
老的master還是會一直監控著,如果啟動了,那麼老的master會作為新master的slave。
3. sentinel判斷master下線的兩種標準。
《1》 主觀下線 。 sentinel發現master沒有在指定時間返回資訊,這種情況被認為
主線下線。 【指定時間:這個時間是我們設定的】
《2》 客觀下線。 sentinel詢問sentinel的叢集,看一下其他的sentinel是否也標記
這master是否下線,如果標記sentinel下線的個數達到一個閥值,
sentinel會將master標記為主線下線,這個時候能會選取領頭的
sentinel。由領頭的sentinel選取master下面的一個slave1去作為
新的master。
master1 6369 slave1 6370 slave11 6371
master2 6379 slave2 6380
master3 6389 slave3 6390
還有 3個Sentinel。分別是26379,26380,26381
6. 設定sentinel的四個條件:(run_id : a1b96c0346a2e15af8e52754ba76034e2bbdaabf)
《1》你要監視的主伺服器的ip地址,以及sentinel標記客觀下線的閥值。
sentinel monitor a1b96c0346a2e15af8e52754ba76034e2bbdaabf 127.0.0.1 6379 2
《2》sentinel認為“主線下線”的一個閥值。
sentinel down-after-milliseconds <master-name> <milliseconds>
《3》 故障恢復期間可以同時slave的個數。
sentinel parallel-syncs a1b96c0346a2e15af8e52754ba76034e2bbdaabf 1
《4》 故障恢復允許的最大時長
1. Sentinel是幹嘛的呢??
用於監視master是否正常線上,如果說master掛掉了,sentinel會讓slave頂上去。
2. 開多少Sentinel適合?
開3個Sentinel,或者說開奇數個,Sentinel的原理就是一直監視著master是否線上,
如果掛掉,sentinel的叢集會選舉中一個零頭的sentinel,然後由領頭的sentinel
執行slaveof命令,讓slave作為master,然後sentinel叢集繼續監視著新的master,
老的master還是會一直監控著,如果啟動了,那麼老的master會作為新master的slave。
3. sentinel判斷master下線的兩種標準。
《1》 主觀下線
主線下線。 【指定時間:這個時間是我們設定的】
《2》 客觀下線。 sentinel詢問sentinel的叢集,看一下其他的sentinel是否也標記
這master是否下線,如果標記sentinel下線的個數達到一個閥值,
sentinel會將master標記為主線下線,這個時候能會選取領頭的
sentinel。由領頭的sentinel選取master下面的一個slave1去作為
新的master。
4. 做一個實踐:
5. 畫圖描敘
6. 設定sentinel的四個條件:(run_id : a1b96c0346a2e15af8e52754ba76034e2bbdaabf)
《1》你要監視的主伺服器的ip地址,以及sentinel標記客觀下線的閥值。
sentinel monitor a1b96c0346a2e15af8e52754ba76034e2bbdaabf 127.0.0.1 6379 2
《2》sentinel認為“主線下線”的一個閥值。
sentinel down-after-milliseconds <master-name> <milliseconds>
《3》 故障恢復期間可以同時slave的個數。
sentinel parallel-syncs a1b96c0346a2e15af8e52754ba76034e2bbdaabf 1
《4》 故障恢復允許的最大時長
實踐如下
1)檔案目錄圖如下,master,slave相關的存放的是redis.conf,redis-cli,redis-server;sentinel存放的是redis-sentinel,sentinel.conf
2)按照上述設定sentinel.conf,記得修改埠號,並啟動
[[email protected] sentinel1]# ./redis-sentinel sentinel.conf3)檢視redis的主從關係
127.0.0.1:6369> info
127.0.0.1:6369> info replication