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