1. 程式人生 > >Redis學習筆記--Redis配置檔案Sentinel.conf引數配置詳解

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會採用垃圾回收機制統一管理它們的記憶體。那麼堆外記憶體就是存