緣起
網上很多關於Redis的安裝教程都是基於Linux的,有一部分是基於是windows的,但都是在線的,這在生產環境有時候是不適用的,因爲生產環境一般都是離線的,那麼有沒有辦法在離線的情況下再windows上裝一個Redis集羣呢?
一、安裝依賴
1.安裝Ruby環境
這一步比較簡單,直接點擊我的提供資源中的安裝包下一步下一步就完事了
2.安裝redis.gem
講道理如果你聯網的情況下你是可以通過如下命令安裝的
gem install redis
但如果沒網的情況就要採用如下命令(記得把路徑換成你自己的,別傻乎乎自己拷貝過去運行。。。gem包在下載我提供的包裏有)
gem install --local E:\app\redis-3.3.0.gem
二、安裝配置Redis
1.在redis目錄下創建6個節點的文件夾:7000-7005
2.將redis下面的文件複製到各個節點文件夾下面
3.修改6個文件夾下redis.windows.conf 文件配置
port 7000
cluster-enabled yes
cluster-config-file nodes-7000.conf
cluster-node-timeout 15000
appendonly yes
改端口的,記得不同的節點改成不同的。
如果cluster-enabled 不爲yes, 那麼在使用JedisCluster集羣代碼獲取的時候,會報錯。
cluster-node-timeout 調整爲 15000,那麼在創建集羣的時候,不會超時。
cluster-config-file nodes-6379.conf 是爲該節點的配置信息,這裏使用 nodes-端口.conf命名方法。服務啓動後會在目錄生成該文件。
4.編寫一個bat來啓動redis,在每個節點目錄下創建start.bat,內容如下(端口記得對應):
title redis-7000
redis-server.exe redis.windows.conf
5.把文件夾中的redis-trib.rb複製到redis目錄
6.啓動每個節點並且執行集羣構建腳本
先在 redis目錄命令行下執行
redis-server.exe redis.windows.conf
把每個節點的 start.bat 文件點擊運行
在切換到redis目錄下命令行執行
ruby redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
在出現 Can I set the above configuration? (type ‘yes’ to accept): 請確定並輸入 yes 。
到此集羣就裝好了
三、測試
操作某個節點指令 在 E:/app/Redis-x64-3.0.504 下執行
redis-cli.exe -c -p 7000
在7000節點存儲一個鍵
Set test zxh
重新打開一個cmd窗口連接7001節點
redis-cli.exe -c -p 7001
取出7001的值
get test
說明集羣數據同步成功
懶癌患者的福音
爲防懶癌患者,我提供一個已經配置好的安裝包,講道理,你只需要執行上面的第一項的安裝依賴裏面的內容,並且執行第二項安裝redis中的第6步,就可以搭建完畢了,配置好的安裝包如下下載。
https://download.csdn.net/download/qq32933432/12450516
寫在最後
這種方式實際上只是搭建了最普通的redis主從集羣,但實際上這種集羣模式是存在問題的,比如不會自動選舉。
master節點掛了以後,redis就不能對外提供寫服務了,因爲剩下的slave不能成爲master。所以,就有了sentinel模式,下一篇文章我會寫寫怎麼在windows上搭建sentinel模式的redis集羣