Redis 在Window下叢集部署
阿新 • • 發佈:2018-12-25
本文主要介紹在 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 。成功後的結果如下: