Redis集群(三):主從配置一



一、本文目的
         Redis的主從配置分為兩篇文章,第一篇主要介紹了Redis主從配置的搭建過程及使用,第二篇主要說明各種情況下Redis主從狀態,如Master掛掉,Slaver掛掉,掛掉后重新加入等。

二、常用命令
  1. 根據配置文件啟動redis:   src/redis-server  redis.confg
  2. 啟動redis客戶端:redis-cli -p port
  3. Slaver連接Master:slaveof host:ip          (測試時使用slaveof手動連接master,正式環境使用配置文件)
  4. 關閉Redis:shutdown
  5. 查看主從信息:info Replication

三、Redis的配置
    1、按照1主2從的結構搭建,即1個Master,2個Slaver節點
    2、Redis配置文件redis.conf的配置

daemonize
(后台運行)
pidfile port logfile(日志,src目錄) # slaveof <masterip> <masterport>
  (測試時使用slaveof手動連接master,正式環境使用配置文件)
Master yes /var/run/redis6379.pid 6379 "redis6379.log"
Slaver1 yes /var/run/redis6381.pid 6381 "redis6381.log" slaveof 127.0.0.1 6379
Slaver2 yes /var/run/redis6382.pid 6382 "redis6382.log" slaveof 127.0.0.1 6379
    3、配置完成后3個節點都是Master
    4、配置主從節點(通過info replication查看主從關系)
  5、Master節點設置key后異步同步到Slaver節點;Slaver節點只能讀取數據,不能修改
 6、主節點掛掉后,手動將S1子節點升級為Master(命令:slaveof no one 手動將Slaver節點升級為Master節點)
   操作步驟如下:
    a) Master節點:Shutdown關閉節點
    b) Slaver1節點:slaveof no one將其升級為Master節點
    c) Slaver2節點:使用slaveof 127.0.0.1 6381 重連Slaver2將其視為Master節點
    d) 原來的Master節點:重新啟動后,可以使用 slaveof 127.0.0.1 6381 連接Slaver2將其視為Master節點,自己成為Slaver節點
 7、使用哨兵模式,自動監視Master節點,當前掛掉后,自動將Slaver節點變為Master節點
       a) sentinel.conf配置文件,修改sentinel monitor host6379 127.0.0.1 6379 1,其它使用默認即可
            host6379  主機名稱,隨便起    主機IP 端口 1表示選舉,某個slaver得到超過1票則成成為Master節點
       b) 啟動sentinel: ./redis-sentinel ../sentinel.conf
   8、手動shutdown Master節點后,等待一段時間(大概一分鍾),sentinel會重新選舉Master節點。下面將6381選舉為Master節點,6382自動重連6381的Master節點
     6379 原來的Master節點重啟后變成Slaver節點
 

四、總結
  1. Master可讀可寫,Slaver只能讀,不能寫
  2. Master可以對應多個Slaver,但是數量越多壓力越大,延遲就可能越嚴重
  3. Master寫入后立即返回,幾乎同時將寫入異步同步到各個Slaver,所以基本上延遲可以忽略
  4. 可以通過slaveof no one命令將Slaver升級為Master(當Master掛掉時,手動將某個Slaver變為Master)
  5. 可以通過sentinel哨兵模式監控Master,當Master掛掉時自動選舉Slaver變為Master,其它Slaver自動重連新的Master










免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM