成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Redis高可用方案哨兵機(jī)制------配置文件sentinel.conf詳解

redis的哨兵機(jī)制是官方推薦的一種高可用(HA)方案,我們?cè)谑褂肦edis的主從結(jié)構(gòu)時(shí),如果主節(jié)點(diǎn)掛掉,這時(shí)是不能自動(dòng)進(jìn)行主備切換和通知客戶端主節(jié)點(diǎn)下線的。

成都創(chuàng)新互聯(lián)公司專注于企業(yè)成都全網(wǎng)營銷、網(wǎng)站重做改版、祥符網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5建站商城開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為祥符等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

Redis-Sentinel機(jī)制主要用三個(gè)功能:

(1)監(jiān)控:不停監(jiān)控Redis主從節(jié)點(diǎn)是否安裝預(yù)期運(yùn)行

(2)提醒:如果Redis運(yùn)行出現(xiàn)問題可以 按照配置文件中的配置項(xiàng) 通知客戶端或者集群管理員

(3)自動(dòng)故障轉(zhuǎn)移:當(dāng)主節(jié)點(diǎn)下線之后,哨兵可以從主節(jié)點(diǎn)的多個(gè)從節(jié)點(diǎn)中選出一個(gè)為主節(jié)點(diǎn),并更新配置文件和其他從節(jié)點(diǎn)的主節(jié)點(diǎn)信息。

這里先把哨兵機(jī)制的配置文件sentinel.conf中的各個(gè)配置項(xiàng)先說一下

# Example sentinel.conf
 
# 哨兵sentinel實(shí)例運(yùn)行的端口 默認(rèn)26379
port 26379
 
# 哨兵sentinel的工作目錄
dir /tmp
 
# 哨兵sentinel監(jiān)控的redis主節(jié)點(diǎn)的 ip port 
# master-name  可以自己命名的主節(jié)點(diǎn)名字 只能由字母A-z、數(shù)字0-9 、這三個(gè)字符".-_"組成。
# quorum 當(dāng)這些quorum個(gè)數(shù)sentinel哨兵認(rèn)為master主節(jié)點(diǎn)失聯(lián) 那么這時(shí) 客觀上認(rèn)為主節(jié)點(diǎn)失聯(lián)了
# sentinel monitor <master-name> <ip> <redis-port> <quorum>
  sentinel monitor mymaster 127.0.0.1 6379 2
 
# 當(dāng)在Redis實(shí)例中開啟了requirepass foobared 授權(quán)密碼 這樣所有連接Redis實(shí)例的客戶端都要提供密碼
# 設(shè)置哨兵sentinel 連接主從的密碼 注意必須為主從設(shè)置一樣的驗(yàn)證密碼
# sentinel auth-pass <master-name> <password>
sentinel auth-pass mymaster MySUPER--secret-0123passw0rd
 
 
# 指定多少毫秒之后 主節(jié)點(diǎn)沒有應(yīng)答哨兵sentinel 此時(shí) 哨兵主觀上認(rèn)為主節(jié)點(diǎn)下線 默認(rèn)30秒
# sentinel down-after-milliseconds <master-name> <milliseconds>
sentinel down-after-milliseconds mymaster 30000
 
# 這個(gè)配置項(xiàng)指定了在發(fā)生failover主備切換時(shí)最多可以有多少個(gè)slave同時(shí)對(duì)新的master進(jìn)行 同步,
這個(gè)數(shù)字越小,完成failover所需的時(shí)間就越長,
但是如果這個(gè)數(shù)字越大,就意味著越 多的slave因?yàn)閞eplication而不可用。
可以通過將這個(gè)值設(shè)為 1 來保證每次只有一個(gè)slave 處于不能處理命令請(qǐng)求的狀態(tài)。
# sentinel parallel-syncs <master-name> <numslaves>
sentinel parallel-syncs mymaster 1
 
 
 
# 故障轉(zhuǎn)移的超時(shí)時(shí)間 failover-timeout 可以用在以下這些方面: 
#1. 同一個(gè)sentinel對(duì)同一個(gè)master兩次failover之間的間隔時(shí)間。
#2. 當(dāng)一個(gè)slave從一個(gè)錯(cuò)誤的master那里同步數(shù)據(jù)開始計(jì)算時(shí)間。直到slave被糾正為向正確的master那里同步數(shù)據(jù)時(shí)。
#3.當(dāng)想要取消一個(gè)正在進(jìn)行的failover所需要的時(shí)間。  
#4.當(dāng)進(jìn)行failover時(shí),配置所有slaves指向新的master所需的最大時(shí)間。不過,即使過了這個(gè)超時(shí),slaves依然會(huì)被正確配置為指向master,但是就不按parallel-syncs所配置的規(guī)則來了
# 默認(rèn)三分鐘
# sentinel failover-timeout <master-name> <milliseconds>
sentinel failover-timeout mymaster 180000
 
# SCRIPTS EXECUTION
 
#配置當(dāng)某一事件發(fā)生時(shí)所需要執(zhí)行的腳本,可以通過腳本來通知管理員,例如當(dāng)系統(tǒng)運(yùn)行不正常時(shí)發(fā)郵件通知相關(guān)人員。
#對(duì)于腳本的運(yùn)行結(jié)果有以下規(guī)則:
#若腳本執(zhí)行后返回1,那么該腳本稍后將會(huì)被再次執(zhí)行,重復(fù)次數(shù)目前默認(rèn)為10
#若腳本執(zhí)行后返回2,或者比2更高的一個(gè)返回值,腳本將不會(huì)重復(fù)執(zhí)行。
#如果腳本在執(zhí)行過程中由于收到系統(tǒng)中斷信號(hào)被終止了,則同返回值為1時(shí)的行為相同。
#一個(gè)腳本的最大執(zhí)行時(shí)間為60s,如果超過這個(gè)時(shí)間,腳本將會(huì)被一個(gè)SIGKILL信號(hào)終止,之后重新執(zhí)行。
 
#通知型腳本:當(dāng)sentinel有任何警告級(jí)別的事件發(fā)生時(shí)(比如說redis實(shí)例的主觀失效和客觀失效等等),將會(huì)去調(diào)用這個(gè)腳本,
這時(shí)這個(gè)腳本應(yīng)該通過郵件,SMS等方式去通知系統(tǒng)管理員關(guān)于系統(tǒng)不正常運(yùn)行的信息。調(diào)用該腳本時(shí),將傳給腳本兩個(gè)參數(shù),
一個(gè)是事件的類型,
一個(gè)是事件的描述。
如果sentinel.conf配置文件中配置了這個(gè)腳本路徑,那么必須保證這個(gè)腳本存在于這個(gè)路徑,并且是可執(zhí)行的,否則sentinel無法正常啟動(dòng)成功。
#通知腳本
# sentinel notification-script <master-name> <script-path>
  sentinel notification-script mymaster /var/redis/notify.sh
 
# 客戶端重新配置主節(jié)點(diǎn)參數(shù)腳本
# 當(dāng)一個(gè)master由于failover而發(fā)生改變時(shí),這個(gè)腳本將會(huì)被調(diào)用,通知相關(guān)的客戶端關(guān)于master地址已經(jīng)發(fā)生改變的信息。
# 以下參數(shù)將會(huì)在調(diào)用腳本時(shí)傳給腳本:
# <master-name> <role> <state> <from-ip> <from-port> <to-ip> <to-port>
# 目前<state>總是“failover”,
# <role>是“l(fā)eader”或者“observer”中的一個(gè)。 
# 參數(shù) from-ip, from-port, to-ip, to-port是用來和舊的master和新的master(即舊的slave)通信的
# 這個(gè)腳本應(yīng)該是通用的,能被多次調(diào)用,不是針對(duì)性的。
# sentinel client-reconfig-script <master-name> <script-path>
 sentinel client-reconfig-script mymaster /var/redis/reconfig.sh

網(wǎng)站題目:Redis高可用方案哨兵機(jī)制------配置文件sentinel.conf詳解
標(biāo)題URL:http://jinyejixie.com/article0/ippoio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)小程序開發(fā)、網(wǎng)站設(shè)計(jì)公司、域名注冊(cè)微信公眾號(hào)、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)
南雄市| 繁昌县| 岳池县| 綦江县| 绥滨县| 汝城县| 兴仁县| 屯昌县| 仁寿县| 兴宁市| 郁南县| 浙江省| 绥滨县| 玛曲县| 蒲城县| 南充市| 嫩江县| 辉南县| 乌拉特后旗| 遵义市| 睢宁县| 民丰县| 新宁县| 沁水县| 苍山县| 新平| 秭归县| 肇源县| 汝城县| 临泽县| 莆田市| 连云港市| 彭州市| 兴安县| 文山县| 平昌县| 潞西市| 伊吾县| 安宁市| 周口市| 休宁县|