Windows下搭建Redis Cluster集群
搭建準備:首先到 https://github.com/MSOpenTech/redis/releases?下載Redis-Windows版本;下載好后解壓,解壓之后可看到這些文件:
進入到解壓目錄,右鍵->打開命令窗口,輸入 redis-server.exe? redis.windows.conf 啟動redis-server :
看到如下界面說明啟動redis server成功。
下面開始介紹windows下集群搭建。
1.首先我們構建集群節點目錄:
(集群正常運作至少需要三個主節點,不過在剛開始試用集群功能時, 強烈建議使用六個節點: 其中三個為主節點, 而其余三個則是各個主節點的從節點。主節點崩潰,從節點的Redis就會提升為主節點,代替原來的主節點工作,崩潰的主Redis回復工作后,會成為從節點)
拷貝開始下載的redis解壓后的目錄,并修改文件名(比如按集群下redis端口命名)如下:
6380,6381,6382,6383,6384,6385對應的就是后面個節點下啟動redis的端口。
在節點目錄下新建文件,輸入(舉例在6380文件夾下新建文件)
title redis-6380; redis-server.exe redis.windows.conf然后保存為start.bat 下次啟動時直接執行該腳本即可;
接著分別打開各個文件下的 redis.windows.conf,分別修改如下配置(舉例修改6380文件下的redis.window.conf文件):
?
注意:在修改配置文件這幾項配置時,配置項前面不能有空格,否則啟動時會報錯(參考下面)
其他文件節點 6381~6385也修改相應的節點配置信息和建立啟動腳本(略)。
2.下載Ruby并安裝:
? ? 下載地址:http://railsinstaller.org/en? 這里下載的是2.3.3版本:
? ? 下載完成后安裝,一步步點next知道安裝完成(安裝時勾選3個選項)
然后對ruby進行配置:
3.構建集群腳本redis-trib.rb
可以打開?https://raw.githubusercontent.com/antirez/redis/unstable/src/redis-trib.rb?然后復制里面的內容到本地并保存為redis-trib.rb;?redis-trib.rb
如下圖,與redis集群節點保存在同一個文件夾下(比如我所有節點都存放在redis-cluster文件夾下)。
然后依次啟動所有集群節點start.bat
然后cmd進入redis集群節點目錄后,執行: (–replicas 1 表示為集群中的每個主節點創建一個從節點)
redis-trib.rb create --replicas 1 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 127.0.0.1:6385將會出現下圖的輸出信息
上圖可看出 主節點為6380,6381,6382 端口的三個地址,6384,6385,6383為三個從節點
中途會詢問是否打印更多詳細信息,輸入yes即可,然后redis-trib 就會將這份配置應用到集群當中,讓各個節點開始互相通訊
Redis集群數據分配策略:
采用一種叫做哈希槽 (hash slot)的方式來分配數據,redis cluster 默認分配了 16384 個slot,三個節點分別承擔的slot 區間是:(上圖3個M:節點的slots描述)
節點6380覆蓋0-5460; 節點6381覆蓋5461-10922; 節點6382覆蓋10923-16383.最后查看所有集群節點,會看到:
集群搭建并啟動成功。。。
4.測試集群
進入任意一個集群節點,cmd執行? redis-cli.exe? -c -p 6381
寫入任意一個value,查詢
寫一個hash:
hset redis:test:hash Hash1 12345可以看到集群會用CRC16算法來取模得到所屬的slot,然后將這個key分到哈希槽區間的節點上CRC16(key) % 16384
所以,可以看到我們set的key計算之后被分配到了slot-162 上, 而slot-162處在節點6380上,因此redis自動redirect到了6380節點上。
總結
以上是生活随笔為你收集整理的Windows下搭建Redis Cluster集群的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【图的深度优先遍历搜索】Seeding
- 下一篇: 微型计算机k80,AEG 3AEF151