1. 程式人生 > >Redis叢集:redis主從自動切換Sentinel操作例項

Redis叢集:redis主從自動切換Sentinel操作例項

sentinel監控主從伺服器的設定(現在已有的是79,80,81三臺服務,其中,80和81是79的從伺服器)

1. cd /usr/local/redis

2. cp /usr/local/src/redis-3.0.2/sentinel.conf ./ (複製原始碼下的 sentinel.conf到/usr/local/redis目錄下)

3. vim sentinel.conf

sentinel monitor mymaster 127.0.0.1 6379 2    (修改簡直的master的ip地址,埠號,以及多少個sentinel檢查到master失效判斷為異常),此處我的修改為 sentinel monitor mymaster 127.0.0.1 6379 1(一個sentinel監聽127.0.0.1的6379埠的服務,檢測到失效,判斷為失效,實際情況,應該設定多個sentinel監聽)

        sentinel down-after-milliseconds mymaster 30000 (多上時間監聽不到認為為失敗,此時為30秒)

sentinel parallel-syncs mymaster 1 (在執行故障轉移時,最多可以有多少個Slave同時對新的Master進行同步。這個數字設定為1,雖然完成故障轉移所需的時間會變長,但是可以保證每次只有1個Slave處於不能處理命令請求的狀態),因為同時執行多個同步,會拖垮程序

sentinel failover-timeout mymaster 180000  (規定時間內沒完成執行的操作,認為任務失敗,可以傳送報警簡訊)

4. ./bin/redis-server ./sentinel.conf --sentinel (執行監聽)

5. 此時主伺服器掛機之後,監聽程式會自動為我們切換主從伺服器(下面兩張圖是監聽到的變化)

6. sentinel切換主伺服器是隨機的,如果想讓指定的伺服器作為主伺服器,則只需要修改對應伺服器的redis.conf配置檔案的 slave--priority 100 即可,數值越小,越優先



相關推薦

Redis叢集redis主從自動切換Sentinel操作例項

sentinel監控主從伺服器的設定(現在已有的是79,80,81三臺服務,其中,80和81是79的從伺服器) 1. cd /usr/local/redis 2. cp /usr/local/src

Redis叢集_3.redis 主從自動切換Sentinel

二、Sentinel工作方式: 1):每個Sentinel以每秒鐘一次的頻率向它所知的Master,Slave以及其他 Sentinel 例項傳送一個 PING 命令 2):如果一個例項(instance)距離最後一次有效回覆 PING 命令的時間超過 down-after-milliseconds 選項所指

關於Redis叢集中配置主從複製的簡單操作

一、Redis 提供了Master/Slave架構機制,這樣大大提高了Redis的容災能力,假如某臺Redis伺服器由於網路或者主機的原因導致宕機,Redis就不能正常提供服務了,通過主從複製就可以是先多個從伺服器擁有和主伺服器一樣的資料,這樣就能保證資料的完整性,並且

Redis叢集./redis-trib.rb:24:in `require': no such file to load -- rubygems

問題現象 執行建立叢集命令: ./redis-trib.rb create --replicas 1 192.168.101.3:7001 192.168.101.3:7002 192.168.101.3:70

Redis叢集主從自動切換Sentinel(哨兵)

Redis Sentinel Sentinel(哨兵)是用於監控redis叢集中Master狀態的工具,其已經被整合在redis2.4+的版本中 一、Sentinel作用: 1):Master狀態檢測  2):如果Master異常,則會進行Master-Slave切換,將

Redis-Sentinel主從自動切換

entinel哨兵: 在其中一臺redis上或者隨便找一臺伺服器安裝,如果只安裝一個sentinel並要安裝在redis伺服器上,建議在從上搭建sentinel,這樣保證了主宕機之後不會影響主從切換,從宕機不會影響主的執行 # vim /etc/redi

redis sentinel的指令碼機制及實現twemproxy主從自動切換

redis sentinel 指令碼機制 1).sentinel notification-script   通知型指令碼:當sentinel有任何警告級別的事件發生時(比如說redis例項的主觀失效和客觀失效等等),將會去呼叫這個指令碼,這時這個指令碼應該通

Redis叢集主從自動切換demo之Linex環境

Redis主從配置(Master-Slave) 一、 Redis Replication的特點: 1):一個Master可以同步多個Slave 2):不僅Master可以同步多個Slave,Slave也可以同步其它Slave,可以構成一個圖形結構,同時還能分擔Maste

Redis sentinel 主從自動切換配置

配置sentinel至少需要兩個redis服務例項 127.0.0.1 6380 master 127.0.0.1 6381 slave1 127.0.0.1 6382 slave2 127.0.0.1

redis單例、主從模式、sentinel以及叢集的配置方式及優缺點對比

redis作為一種高效的快取框架,使用是非常廣泛的,在資料儲存上,在執行時其將資料儲存在記憶體中,以實現資料的高效讀寫,並且根據定製的持久化規則不同,其會不定期的將資料持久化到硬碟中。另外相較於其他的NoSql資料庫,redis提供了非常豐富的資料結構,如dict,s

我的redis+keepalived主從自動切換配置指令碼

echo "192.168.0.246 redismaster" >> /etc/hosts echo "192.168.0.249 redisslave" >> /etc/hosts echo 1 > /proc/sys/vm/overcom

Redis叢集主從節點新增和刪除

新增主節點 叢集建立成功後可以向叢集中新增節點,下面是新增一個master主節點  新增7007結點,參考叢集結點規劃章節新增一個“7007”目錄作為新節點。 執行下邊命令: ./redis-trib.rb add-node  19

運維筆記38 redisredis主從切換主從自動切換

概述:redis是一個kv儲存,而且使用十分方便,配置也簡單。這次主要介紹下redis的主從複製,與主從自動切換。 框圖: 一.redis的簡單配置 redis的原始碼安裝十分方便,只需要執行 make && make ins

高可用Redis(十)Redis原生命令搭建叢集

1.搭建Redis Cluster主要步驟 1.配置開啟節點 2.meet 3.指派槽 4.主從關係分配 2.環境說明 兩臺虛擬機器,IP地址分別為:192.168.81.100和192.168.81.101 兩臺虛擬機器作業系統均為:CentOS 7.5 64位 兩臺虛擬機器系統說明: 使用y

高可用Redis(八)Redis主從複製

1.Redis複製的原理和優化 1.1 Redis單機的問題 1.1.1 機器故障 在一臺伺服器上部署一個Redis節點,如果機器發生主機板損壞,硬碟損壞等問題,不能在短時間修復完成,就不能處理Redis操作了,這就是單機可能存在的問題 同樣的,伺服器正常執行,但是Redis主程序發

高可用Redis(九)Redis Sentinel

1.主從複製高可用的問題 主從複製高可用的作用 1.為master提供備份,當master宕機時,slave有完整的備份資料 2.對master實現分流,實現讀寫分離 但是主從架構有一個問題 1.如果master宕機,故障轉移需要手動完成或者由別的工具來完成,從slave中選擇一個slave做為新的m

高可用redis叢集redis-sentinel哨兵模式的啟動

    redis一旦斷電資料會清除,Redis哨兵是一個分散式系統。哨兵程序間互相監控、通知、自動故障遷移和選舉產生新的master。啟動叢集分三步:啟動zookeeper,啟動redis,啟動redis-sentinel,注意啟動順序可不能亂。 1.後臺啟動zookeep

Redis叢集哨兵機制配置

前置redis單例基本搭建參考部落格:redis基礎服務搭建 redis叢集主要修改配置:主從複製 1. 主機配置 複製一份redis.conf成redis-6379.conf。修改配置: ``` #演示方便,開放ip連線 bind 0.0.0.0 #後

在windows上搭建redis叢集Redis-Sentinel

Redis叢集策略主要有: 主從複製(Master-Slave) 哨兵模式(Redis-Sentinel) 分片(Redis-Sharding) 本文主要講解如何搭建哨兵模式。 ******************************************

java使用Redis6–sentinel單點故障主從自動切換

package redis; import java.util.HashSet; import java.util.Set; import redis.clients.jedis.HostAndPort; import redis.clients.jedis.Jedis; import redis.clie