Redis學習筆記--Redis配置檔案Sentinel.conf引數配置詳解
redis-sentinel.conf配置項說明如下:
1.port 26379
sentinel監聽埠,預設是26379,可以修改。
2.sentinel monitor <master-name> <ip> <redis-port> <quorum>
告訴sentinel去監聽地址為ip:port的一個master,這裡的master-name可以自定義,quorum是一個數字,指明當有多少個sentinel認為一個master失效時,master才算真正失效。master-name只能包含英文字母,數字,和“.-_”這三個字元需要注意的是master-ip 要寫真實的ip地址而不要用迴環地址(127.0.0.1)。
配置示例:
sentinel monitor mymaster 192.168.0.5 6379 2
3.sentinel auth-pass <master-name> <password>
設定連線master和slave時的密碼,注意的是sentinel不能分別為master和slave設定不同的密碼,因此master和slave的密碼應該設定相同。
配置示例:
sentinel auth-pass mymaster 0123passw0rd
4.sentinel down-after-milliseconds <master-name> <milliseconds>
這個配置項指定了需要多少失效時間,一個master才會被這個sentinel主觀地認為是不可用的。 單位是毫秒,預設為30秒
配置示例:
sentinel down-after-milliseconds mymaster 30000
5.sentinel parallel-syncs <master-name> <numslaves>
這個配置項指定了在發生failover主備切換時最多可以有多少個slave同時對新的master進行 同步,這個數字越小,完成failover所需的時間就越長,但是如果這個數字越大,就意味著越 多的slave因為replication而不可用。可以通過將這個值設為 1 來保證每次只有一個slave 處於不能處理命令請求的狀態。
配置示例:
sentinel parallel-syncs mymaster 1
6. sentinel failover-timeout <master-name> <milliseconds>
failover-timeout 可以用在以下這些方面:
1. 同一個sentinel對同一個master兩次failover之間的間隔時間。
2. 當一個slave從一個錯誤的master那裡同步資料開始計算時間。直到slave被糾正為向正確的master那裡同步資料時。
3.當想要取消一個正在進行的failover所需要的時間。
4.當進行failover時,配置所有slaves指向新的master所需的最大時間。不過,即使過了這個超時,slaves依然會被正確配置為指向master,但是就不按parallel-syncs所配置的規則來了。
配置示例:
sentinel failover-timeout mymaster1 20000
7.sentinel的notification-script和reconfig-script是用來配置當某一事件發生時所需要執行的指令碼,可以通過指令碼來通知管理員,例如當系統執行不正常時發郵件通知相關人員。對於指令碼的執行結果有以下規則:
若指令碼執行後返回1,那麼該指令碼稍後將會被再次執行,重複次數目前預設為10
若指令碼執行後返回2,或者比2更高的一個返回值,指令碼將不會重複執行。
如果指令碼在執行過程中由於收到系統中斷訊號被終止了,則同返回值為1時的行為相同。
一個指令碼的最大執行時間為60s,如果超過這個時間,指令碼將會被一個SIGKILL訊號終止,之後重新執行。
1).sentinel notification-script <master-name> <script-path>
通知型指令碼:當sentinel有任何警告級別的事件發生時(比如說redis例項的主觀失效和客觀失效等等),將會去呼叫這個指令碼,這時這個指令碼應該通過郵件,SMS等方式去通知系統管理員關於系統不正常執行的資訊。呼叫該指令碼時,將傳給指令碼兩個引數,一個是事件的型別,一個是事件的描述。如果sentinel.conf配置檔案中配置了這個指令碼路徑,那麼必須保證這個指令碼存在於這個路徑,並且是可執行的,否則sentinel無法正常啟動成功。
配置示例:
sentinel notification-script mymaster /var/redis/notify.sh
2).sentinel client-reconfig-script <master-name> <script-path>
當一個master由於failover而發生改變時,這個指令碼將會被呼叫,通知相關的客戶端關於master地址已經發生改變的資訊。以下引數將會在呼叫指令碼時傳給指令碼:
<master-name> <role> <state> <from-ip> <from-port> <to-ip> <to-port>
目前<state>總是“failover”, <role>是“leader”或者“observer”中的一個。 引數 from-ip, from-port, to-ip, to-port是用來和舊的master和新的master(即舊的slave)通訊的。這個指令碼應該是通用的,能被多次呼叫,不是針對性的。
配置示例:
sentinel client-reconfig-script mymaster /var/redis/reconfig.sh
相關推薦
Redis學習筆記--Redis配置檔案Sentinel.conf引數配置詳解
redis-sentinel.conf配置項說明如下: 1.port 26379 sentinel監聽埠,預設是26379,可以修改。 2.sentinel monitor <master-name> <ip> <redis-port> <quorum> 告
Linux系統下python學習筆記——Linux中檔案和目錄常用命令詳解
一、檢視目錄內容 ls命令說明: 英文單詞list的簡寫,功能為列出目錄的內容,是使用者最常用的命令字義 Linux下檔案和目錄的特點: Linux檔案或目錄名稱最長可以有256個字元 以 . 開頭的檔案為隱藏檔案,需要用-a引數才能顯示(all
Redis學習筆記(4)-持久化、主從配置、哨兵、叢集配置
HDIS-Framework是一個基於SpringBoot、Kubernetes、阿里雲服務,編寫的一個用於支撐微服務的極速開發框架。 其文件詳盡,Demo全面,設計合理,開箱即用,節省開發時間,提升開發效率。 配套的docker、Kubernete
Redis學習筆記-----Redis數據過期策略詳解
登錄 及其 可能 ger 方式 處理方式 base 持久化數據 簡單的 本文對Redis的過期機制簡單的講解一下 講解之前我們先拋出一個問題,我們知道很多時候服務器經常會用到redis作為緩存,有很多數據都是臨時緩存一下,可能用過之後很久都不會再用到了(比如暫存ses
Redis學習筆記--Redis客戶端(三)
本機 -c trace 圖形 tro cli family 毫秒 ati 1.Redis客戶端 1.1 Redis自帶的客戶端 (1)啟動 啟動客戶端命令:[root@kwredis bin]# ./redis-cli -h 127.0.0.1 -p 6379
Redis學習筆記——Redis的基本操作
之前介紹過如何在ubuntu安裝Redis伺服器:https://www.cnblogs.com/zifeiy/p/9062738.html 接下來,我們在Redis上進行一些基本的操作。 所縣使用命令:redis-cli登陸Redis命令列。 然後執行下面的指令進行測試與學習: 字串型別的增刪改查 #
Redis學習筆記--Redis資料過期策略詳解
本文對Redis的過期機制簡單的講解一下 講解之前我們先丟擲一個問題,我們知道很多時候伺服器經常會用到redis作為快取,有很多資料都是臨時快取一下,可能用過之後很久都不會再用到了(比如暫存session,又或者只存放日行情股票資料)那麼就會出現一下幾個問題了 Redi
Redis學習筆記~Redis事務機制與Lind.DDD.Repositories.Redis事務機制的實現
回到目錄 Redis本身支援事務,這就是SQL資料庫有Transaction一樣,而Redis的驅動也支援事務,這在ServiceStack.Redis就有所體現,它也是目前最受業界認可的Redis驅動,而它將Redis的事務機制(MULTI,Exec,Watch等)封裝成了比較友好的實現方式,如下面的程
Redis學習筆記~Redis主從伺服器,讀寫分離
回到目錄 Redis這個Nosql的儲存系統一般會被部署到linux系統中,我們可以把它當成是一個數據伺服器,對於併發理大時,我們會使用多臺伺服器充當Redis伺服器,這時,各個Redis之間也是分散式的,而Redis與WWW之間也是一種分散式,對於各個redis之間的分散式不需要我們去幹預,它是由我們的r
Redis學習筆記~Redis併發鎖機制
回到目錄 redis客戶端驅動有很多,如ServiceStack.Redis,StackExchange.Redis等等,下面我使用ServiceStack.Redis為例,介紹一下在redis驅動中實現併發鎖的方式,併發就是多執行緒同時訪問和操作同一個資源,而對於redis來說,如果你多個執行緒共同修改一
python學習筆記8--面向對象--屬性和方法詳解
confirm 報錯 方式 系列 dep 是個 應用 all icm 屬性: 公有屬性 (屬於類,每個類一份) 普通屬性 (屬於對象,每個對象一份) 私有屬性 (屬於對象,跟普通屬性相似,只是不能通過對象直接訪問) 方法:(按作用) 構造方法
Cocos Creator 系統學習筆記(七)cc.Component的使用詳解
1 //獲取型別 2 var my_item=require("Component");//AA:其他類名 1 3 cc.Class({ 4 //cc.Class 返回了一個建構函式,然後繼承了cc.Component 5 //cc.Component ,也叫周期函式
大資料技術學習筆記之Hadoop框架基礎4-MapReduceshuffer過程詳解及zookeeper框架學習
一、MapReduce Shuffle -》MapReduce執行五個階段 input  
Python爬蟲(入門+進階)學習筆記 2-6 Scrapy的Request和Response詳解
上節課我們學習了中介軟體,知道了怎麼通過中介軟體執行反反爬策略。本節課主要介紹Scrapy框架的request物件和response物件 通常,Request物件在爬蟲程式中生成並傳遞到系統,直到它們到達下載程式,後者執行請求並返回一個Response物件,
Maven學習筆記(3)-Maven中POM.XML詳解
目錄 一、介紹POM Maven之前的構建工具有Make和Ant,其中Make依賴構建指令碼Makefile,Ant依賴構建指令碼build.xml。同理,Maven專案也依賴構建指令碼。 POM(Project Object Model
前端學習筆記之js中apply()和call()方法詳解
經過網上的大量搜尋,漸漸明白了apply()和call方法的使用,為此寫一篇文章記錄一下。 定義 apply()方法: Function.apply(obj,args)
Nginx模組Lua-Nginx-Module學習筆記(一)Nginx Lua API 介面詳解
value = ngx.HTTP_CONTINUE (100) (first added in the v0.9.20 release) value = ngx.HTTP_SWITCHING_PROTOCOLS (101) (first added in the v0.9.20 release)
朱老師ARM裸機學習筆記(四):S5PV210啟動過程詳解
常用器件特性 記憶體: SRAM 靜態記憶體 特點就是容量小、價格高,優點是不需要軟體初始化直接上電就能用 DRAM 動態記憶體 特點就是容量大、價格低,缺點就是上電後不能直接使用,需要軟體初始化後才可以使用。 微
OpenCV學習筆記十九---運動跟蹤 CamShift以及meanShift詳解
#include <opencv2/video/tracking.hpp> #include <opencv2/imgproc/imgproc.hpp> #include <opencv2/highgui/highgui.hpp> #include <iostream
Java NIO學習筆記三(堆外記憶體之 DirectByteBuffer 詳解)
堆外記憶體 堆外記憶體是相對於堆內記憶體的一個概念。堆內記憶體是由JVM所管控的Java程序記憶體,我們平時在Java中建立的物件都處於堆內記憶體中,並且它們遵循JVM的記憶體管理機制,JVM會採用垃圾回收機制統一管理它們的記憶體。那麼堆外記憶體就是存