windows下redis cluster的搭建和使用

一.準備工作

1.下載redis刃鳄,我這里使用的是windows 64位的redis-3.0.504的烁。需要下載Source code (zip)和Redis-x64-3.0.504.zip這兩個文件贴届。
2.Redis-x64-3.0.504.zip是redis編譯好的exe可執(zhí)行文件

文件 說明
redis-benchmark.exe 測試redis性能工具
redis-check-aof.exe 檢查aof文件工具
redis-check-dump.exe 檢查rdb文件工具
redis-cli.exe 命令行窗口工具
redis-server.exe redis服務(wù)器

3.Source code (zip)是redis源碼文件,這個文件主要是使用其中src文件下的redis-trib.rb文件
4.redis-trib.rb文件是用ruby寫的redis cluster的工具哟玷,redis集群的所有操作都可以通過該工具來完成
5.對bat文件的編寫要有一定的了解

二.開始搭建

1. redis.conf配置(只寫出我修改了的屬性)

屬性 說明
port 7001 端口為7001
save 300 10 300秒有10條記錄改變了希停,則將數(shù)據(jù)保存入dump.rdb
dir ./data .rdb、.aof诗箍、nodes.conf文件存放地址為與redis-server同級下的data文件夾
masterauth 123456 slave連接主的密碼
repl-backlog-size 64mb repl-backlog-size過小癣籽,會導(dǎo)致主從節(jié)點拉復(fù)制失敗,因為全量復(fù)制的時候滤祖,父節(jié)點的更新(應(yīng)用更新筷狼,主動過期刪除等)會臨時存放在backlog中待全量復(fù)制完成后增量發(fā)到子節(jié)點,必須為此保留足夠的空間匠童。
repl-timeout 180 slave和master之間的復(fù)制超時時間埂材,默認為60s, 推薦設(shè)置為180s
requirepass 123456 redis訪問密碼,masterauth要與這個設(shè)置一致
appendonly yes 開啟aof文件保存
cluster-enabled yes 開啟redis集群
cluster-config-file nodes.conf cluster節(jié)點配置文件
cluster-node-timeout 15000 集群中的節(jié)點能夠失聯(lián)的最大時間汤求,超過這個時間俏险,該節(jié)點就會被認為故障。
client-output-buffer-limit (class) (hard limit) (soft limit) (soft seconds) class : 客戶端種類扬绪,normal竖独、slave、pubsub挤牛。
– mormal:普通的客戶端
– slave: 從庫的復(fù)制客戶端
– pub/sub: 發(fā)布與訂閱的客戶端的
hard limit: 緩沖區(qū)大小的硬性限制莹痢。
soft limit: 緩沖去大小的軟性限制。
soft seconds: 緩沖區(qū)大小達到了(超過)soft limit值的持續(xù)時間。
限制分配的緩沖區(qū)的大小竞膳,防止內(nèi)存無節(jié)制的分配航瞭。參數(shù)的默認值都為0,意思是不做任何限制坦辟。

2. 創(chuàng)建redis集群文件夾

1.先創(chuàng)建一個主文件夾刊侯,然后以端口號為名稱創(chuàng)建6個文件夾,官方文檔中提到過

強烈建議使用六個節(jié)點: 其中三個為主節(jié)點锉走, 而其余三個則是各個主節(jié)點的從節(jié)點滨彻。

2.我的目錄結(jié)構(gòu)如圖(cmd中執(zhí)行 tree /f 出現(xiàn)當前文件的目錄結(jié)構(gòu))

└─redis cluster
    │  master-ip-port.properties--------主要配置文件
    │  node-add.bat---------------------調(diào)用redis-trib.rb的add-node命令創(chuàng)建redis cluster擴展cluster
    │  node-check.bat-------------------調(diào)用redis-trib.rb的check命令檢查redis cluster
    │  node-del.bat---------------------調(diào)用redis-trib.rb的del-node命令刪除redis cluster節(jié)點
    │  node-fix.bat---------------------調(diào)用redis-trib.rb的del-node命令檢查redis cluster
    │  node-reshard.bat-----------------調(diào)用redis-trib.rb的reshard命令重新分片redis cluster的slots(槽點)
    │  node-slave-add.bat---------------調(diào)用redis-trib.rb的add-node命令添加master的slave
    │  remove-data-conf.bat-------------刪除當前文件夾中所有以"master-"為前綴命名的文件夾中啟動配置文件和data文件夾下文件的命令文件
    │  startup-allmaster.bat------------啟動當前文件夾中所有以"master-"為前綴命名的文件夾中的redis實例的命令文件
    │  startup-cluster.bat--------------調(diào)用redis-trib.rb的create命令創(chuàng)建redis cluster
    │
    ├─master-7001
    │  │  redis-server.exe
    │  │  redis.conf--------------------啟動配置文件
    │  │  startup-master.bat------------單個啟動redis實例文件
    │  │
    │  ├─conf
    │  │      redis.conf----------------原始配置文件
    │  │
    │  └─data
    │          dump.rdb  
    │          nodes.conf
    │
    ├─master-7002
    │  。挠日。疮绷。。嚣潜。
    ├─master-7003
    │  冬骚。。懂算。只冻。。
    ├─master-8001
    │  计技。喜德。。垮媒。舍悯。
    ├─master-8002
    │  。睡雇。萌衬。。它抱。
    ├─master-8003
    │  秕豫。。观蓄。混移。。
    ├─redis-stat-------------------------監(jiān)控redis狀態(tài)的工具
    │      help.bat
    │      master-ip-port.properties-----監(jiān)控配置文件侮穿,可以直接復(fù)制主配置文件替換
    │      redis-stat-0.4.14.jar---------監(jiān)控工具jar包
    │      startup-monitor.bat-----------啟動文件
    │
    ├─Redis-x64-3.0.504------------------備用的redis可執(zhí)行文件文件
    │  歌径。。亲茅。沮脖。金矛。
    ├─Ruby24-x64-------------------------ruby安裝文件,redis-trib.rb放在其中的bin文件夾下勺届,免去安裝ruby的步驟
    │  。娶耍。免姿。。榕酒。

3. 使用方法

1.master-ip-port.properties配置文件參數(shù)說明

參數(shù) 說明 使用該參數(shù)的bat文件
master* 各redis實例的ip和port startup-cluster.bat
node-slave-add.bat
node-del.bat
node-check.bat
node-add.bat
replicas 調(diào)用redis-trib.rb的create命令的replicas參數(shù)胚膊,即每個master的slave個數(shù) startup-cluster.bat
add-node* 擴展redis cluster時的主節(jié)點的ip和port node-add.bat
add-slave-node* 從節(jié)點的ip、port和主節(jié)點的node-id node-slave-add.bat
del-node-id* 要刪除的節(jié)點的node-id node-del.bat

有*的參數(shù)表示可以配置多個想鹰,當執(zhí)行bat文件時會循環(huán)參數(shù)執(zhí)行命令

2.redis cluster啟動執(zhí)行順序

  • 修改master-ip-port.properties中master*
  • remove-data-conf.bat(第一次啟動可以不執(zhí)行此文件)
  • startup-allmaster.bat
  • startup-cluster.bat

3.增加節(jié)點執(zhí)行順序

  • 修改master-ip-port.properties中add-node*
  • node-add.bat
  • 修改master-ip-port.properties中add-slave-node*
  • node-slave-add.bat
  • node-reshard.bat

node-reshard.bat執(zhí)行增加時輸入?yún)?shù)

  • 第一個:要為添加節(jié)點的添加多少個slots
  • 第二個:添加節(jié)點的node-id
  • 第三個:all或者目標節(jié)點的node-id

在執(zhí)行添加重新分片時必須注意事項

  • 分片的slots很少紊婉,官方舉例在寫負載情況下只分片了100個slots
  • 分片的slots很多時,需要redis中沒有值時才會成功辑舷,題主實踐過分片2000喻犁,在有值情況下會報如下錯誤


在被重新分片的節(jié)點的slots時,在某些時候會少分配一個slots何缓,這個問題感覺時redis-trib.rb腳本問題

3.刪除節(jié)點執(zhí)行順序

  • 修改master-ip-port.properties中reshard-node*肢础,改為要刪除節(jié)點的ip和port
  • node-reshard.bat
  • 修改master-ip-port.properties中del-node-id*
  • node-del.bat

node-reshard.bat執(zhí)行刪除時輸入?yún)?shù)
第一個:要刪除節(jié)點的slots總和
第二個:接受槽點的節(jié)點node-id
第三個到第N個:要刪除的節(jié)點的node-id,最后輸入done結(jié)尾

最后

附上文件的下載地址
各位老鐵看了下載了都評價下,歡迎拍磚碌廓,還有如果沒有分想下載的可以留下郵箱传轰。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市谷婆,隨后出現(xiàn)的幾起案子慨蛙,更是在濱河造成了極大的恐慌,老刑警劉巖纪挎,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件期贫,死亡現(xiàn)場離奇詭異,居然都是意外死亡廷区,警方通過查閱死者的電腦和手機唯灵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來隙轻,“玉大人埠帕,你說我怎么就攤上這事【谅蹋” “怎么了敛瓷?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長斑匪。 經(jīng)常有香客問我呐籽,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任狡蝶,我火速辦了婚禮庶橱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘贪惹。我一直安慰自己苏章,他們只是感情好,可當我...
    茶點故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布奏瞬。 她就那樣靜靜地躺著枫绅,像睡著了一般。 火紅的嫁衣襯著肌膚如雪硼端。 梳的紋絲不亂的頭發(fā)上并淋,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天,我揣著相機與錄音珍昨,去河邊找鬼县耽。 笑死,一個胖子當著我的面吹牛曼尊,可吹牛的內(nèi)容都是我干的酬诀。 我是一名探鬼主播,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼骆撇,長吁一口氣:“原來是場噩夢啊……” “哼瞒御!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起神郊,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤肴裙,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后涌乳,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蜻懦,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年夕晓,在試婚紗的時候發(fā)現(xiàn)自己被綠了宛乃。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,739評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡蒸辆,死狀恐怖征炼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情躬贡,我是刑警寧澤谆奥,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站拂玻,受9級特大地震影響酸些,放射性物質(zhì)發(fā)生泄漏宰译。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一魄懂、第九天 我趴在偏房一處隱蔽的房頂上張望沿侈。 院中可真熱鬧,春花似錦市栗、人聲如沸肋坚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至诲泌,卻和暖如春盲赊,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背敷扫。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工哀蘑, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人葵第。 一個月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓绘迁,卻偏偏與公主長得像,于是被迫代替她去往敵國和親卒密。 傳聞我的和親對象是個殘疾皇子缀台,可洞房花燭夜當晚...
    茶點故事閱讀 44,647評論 2 354

推薦閱讀更多精彩內(nèi)容