1. 程式人生 > >使用docker redis-cluster叢集搭建

使用docker redis-cluster叢集搭建

參考https://www.cnblogs.com/cxbhakim/p/9151720.html此文

主要搭建過程參考上文,此處講下主要過程和遇到的坑

  1. 首先是映象的基礎搭建,我不知道是否是作者編寫時和我現在的版本不同了,第一個坑點Dockerfile中FROM Centos:7
    ,這
    去掉算是博文複製時的bug吧,還有Centos現在不支援大寫,需要改成centos
  2. Dockerfile中的註釋部分,編碼可能有問題,需要正常執行最好把所有註釋都刪了
  3. 構建docker build -t hakimdstx/cluster-redis . 該映象的時候,根據後文明顯這裡需要改成docker build -t hakimdstx/cluster-redis:4.0.1
    . 不知道為什麼會漏了,後文需要用到Tag版本,否則後面的指令碼別加版本號
  4. 叢集映象建完,後又建了個節點映象。。在我理解其實這兩個可以合併成一個的,不知有何高見
  5. 之後用節點映象啟動多個redis節點,之後就是用redis遠端命令檢視節點資訊啥的,這裡我稍微蒙了會,因為作者沒講從哪裡執行命令。。我考慮了下可以有至少兩種方法,1. 使用下載包中src內有個redis-cli,我的地址/root/docker_redis_cluster/redis-4.0.1/src/redis-cli,可以用這個客戶端呼叫命令 2. 我本地使用的window,用redis DeskTop Manager來遠端連線redis,執行命令
  6. 然後使用Redis Cluster 的叢集感知操作,CLUSTER MEET
  7. 這樣還不夠,還要分配槽slot,他使用指令碼,這裡注意了,如果你是在伺服器上部署,最好ifconfig檢視下伺服器內網地址,用內網地址替換他的指令碼地址,還有密碼,我設的密碼就有)這種符號,需要把整個密碼單引號包起來,否則也會報錯
  8. 然後是從節點新增,cluster nodes檢視所有主節點並記下id,對應指令碼替換3個主節點id,執行指令碼
  9. 故障轉義,若自動轉義失敗,需要手工轉義 ,登入從機CLUSTER FAILOVER force。這裡模擬主節點6379掛了

    發現故障自動轉移,從節點自動升級為主節點,重啟後原主節點自動降為從節點
  10. 然後再看看搭建完的redis叢集佔用空間情況

    可以看到,在沒存入資料前,幾乎不佔用多少記憶體,所以測試搭建在一臺1核1G的服務也是沒什麼壓力的
  11. 日誌存放點

    總結

  • docker搭建redis叢集還是比較容易的,當然我覺得線上環境不應該這麼簡單,至少把日誌、配置檔案都掛載到指定目錄,這樣配置重啟都方便點