1. 程式人生 > >Redis 在Window下叢集部署

Redis 在Window下叢集部署

           本文主要介紹在 window下如何搭建 Redis叢集,三個主節點,三個從節點,多主節點為了分佈叢集,從節點是為了高可用性。

一  下載window版本的redis

        下載地址   https://github.com/MSOpenTech/redis/releases

   

二  解壓複製

         把 redis 解壓後,再複製出 5 份,配置 三主三從叢集。 由於 redis 預設埠號為 6379,那麼其它5份的埠可以為6380,6381,6382,6383,6384。 並且把目錄使用埠號命名, 如下:

      

三 配置Redis

      開啟目錄6379下有一個檔案 redis.windows.conf,修改裡面的埠號,以及叢集支援配置。

     修改支援叢集      cluster-enabled yes      cluster-config-file nodes-6379.conf      cluster-node-timeout 5000      appendonly yes            如果 cluster-enabled 不為yes, 那麼在使用JedisCluster叢集程式碼獲取的時候,會報錯。      cluster-node-timeout 調整為  5000,那麼在建立叢集的時候,不會超時。      cluster-config-file nodes-6379.conf 是為該節點的配置資訊,這裡使用 nodes-埠.conf命名方法。服務啟動後會在目錄生成該檔案。
   

       編寫一個 bat 來啟動 redis,在每個節點目錄下建立  start.bat , 內容如下:

title redis-6380

      redis-server.exe redis.windows.conf

四 安裝Ruby

由於 Redis 的叢集使用  ruby指令碼編寫,所以系統需要有 Ruby 環境。 百度下 rubyinstaller-2.3.3-x64.exe, 並下載安裝。           

五 下載叢集指令碼redis-trib

    下載地址   https://raw.githubusercontent.com/antirez/redis/unstable/src/redis-trib.rb, 
    

     叢集的命令為 

redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384

   如果此時在cmd上執行該命令,那麼會出現如下錯誤:

    

 是因為缺少 ruby 的一些模組,需要參考後面的安裝處理。

六 下載rubygems

    下載地址 https://rubygems.org/pages/download, 下載後解壓,然後在命令列執行  ruby setup.rb, 當前目錄切換到解壓目錄中,如 D:\Program Files\Redis-x64-3.2.100\rubygems-2.6.11


    

七 GEM 安裝 Redis

如果此時再執行叢集建立指令碼  redis-trib.rb , 那麼依然還是有如下錯誤:            需要在命令列中,執行 gem install redis。   

八  啟動每個節點並且執行叢集構建指令碼

把每個節點下的 start.bat雙擊啟動, 在命令列中執行   redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384        如果出現如下超時錯誤,那麼要修改下  cluster-node-timeout 5000。           如果出現以下錯誤,那麼把每個節點服務目錄下 nodes-埠號.conf檔案刪除,如nodes-6379.conf, 並且重啟每個服務後,再建立叢集。         在出現 Can I set the above configuration? (type 'yes' to accept):   請確定並輸入 yes 。成功後的結果如下: