redis-cluster 集群搭建方案

下載redis 源碼包辰企,編譯安裝redis

#下載redis
wget http://download.redis.io/releases/redis-5.0.8.tar.gz

#解壓并 進入redis解壓包中
tar -zxvf redis-5.0.8.tar.gz
cd redis-5.0.8

# 創(chuàng)建redis 目錄
mkdir /var/local/redis-cluster/7001 -p

# make 安裝redis 二進制服務包
make install PREFIX=/var/local/redis-cluster/7001

修改redis 參數(shù)

# 注釋到綁定ip參數(shù)
#bind 127.0.0.1

# cluster node enable the cluster support uncommenting the following:
#
cluster-enabled yes

protected-mode no

# Accept connections on the specified port, default is 6379 (IANA #815344).
# If port 0 is specified Redis will not listen on a TCP socket.
port 7001

# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
daemonize yes

pidfile /var/run/redis_7001.pid

# output for logging but daemonize, logs will be sent to /dev/null
logfile "/var/local/redis-cluster/7001/logs/redis.log"

復制幾個不同的redis 服務節(jié)點

cp 7001/ -R 7002
cp 7001/ -R 7003
cp 7001/ -R 7004
cp 7001/ -R 7005
cp 7001/ -R 7006
cp 7001/ -R 7007
cp 7001/ -R 7008

修改復制的服務相應的配置信息

# cluster node enable the cluster support uncommenting the following:
#
cluster-enabled yes

protected-mode no

# Accept connections on the specified port, default is 6379 (IANA #815344).
# If port 0 is specified Redis will not listen on a TCP socket.
port <7002 - 7008>

# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
daemonize yes

pidfile /var/run/redis_<7002 - 7008>.pid

# output for logging but daemonize, logs will be sent to /dev/null
logfile "/var/local/redis-cluster/<7002-7008>/logs/redis.log"

創(chuàng)建redis 集群

./redis-cli --cluster create 192.168.1.102:7001 192.168.1.102:7002 192.168.1.102:7003 192.168.1.102:7004 192.168.1.102:7005 192.168.1.102:7006 --cluster-replicas 1

客戶端命令行模式連接redis 集群

# -c 表示以集群的方式連接
./redis-cli -h 192.168.1.102 -p 7001 -c

查看集群狀態(tài)

[root@master1 bin]# ./redis-cli -h 192.168.1.102 -p 7001 -c
192.168.1.102:7001> cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:6
cluster_my_epoch:1
cluster_stats_messages_ping_sent:855
cluster_stats_messages_pong_sent:833
cluster_stats_messages_sent:1688
cluster_stats_messages_ping_received:828
cluster_stats_messages_pong_received:855
cluster_stats_messages_meet_received:5
cluster_stats_messages_received:1688

查看集群中節(jié)點信息

192.168.1.102:7001> cluster nodes
227b6da7e4ba4414f90d3b1eb0085df4a5a84681 192.168.1.102:7006@17006 slave 0d01f85fab5e086afde3eebcd0de39c544dae02c 0 1595870090000 6 connected
0d01f85fab5e086afde3eebcd0de39c544dae02c 192.168.1.102:7003@17003 master - 0 1595870091016 3 connected 10923-16383
a10b150d343122ba0a9676842b4494bedb277276 192.168.1.102:7004@17004 slave 1acc43a0295b08139b7bd29241500c66ba40499a 0 1595870088980 4 connected
24d804068d10070904f46320117e44df7fb98e1e 192.168.1.102:7005@17005 slave 0407753bce270c9c4bea6bc8bc52f033157d234e 0 1595870089000 5 connected
1acc43a0295b08139b7bd29241500c66ba40499a 192.168.1.102:7001@17001 myself,master - 0 1595870089000 1 connected 0-5460
0407753bce270c9c4bea6bc8bc52f033157d234e 192.168.1.102:7002@17002 master - 0 1595870090003 2 connected 5461-10922

增加節(jié)點擴容

# 增加節(jié)點
./redis-cli --cluster add-node 192.168.1.102:7007 192.168.1.102:7001

# 執(zhí)行結果
[root@master1 bin]# ./redis-cli --cluster add-node 192.168.1.102:7007 192.168.1.102:7001
>>> Adding node 192.168.1.102:7007 to cluster 192.168.1.102:7001
>>> Performing Cluster Check (using node 192.168.1.102:7001)
M: 1acc43a0295b08139b7bd29241500c66ba40499a 192.168.1.102:7001
   slots:[0-5460] (5461 slots) master
   1 additional replica(s)
S: 227b6da7e4ba4414f90d3b1eb0085df4a5a84681 192.168.1.102:7006
   slots: (0 slots) slave
   replicates 0d01f85fab5e086afde3eebcd0de39c544dae02c
M: 0d01f85fab5e086afde3eebcd0de39c544dae02c 192.168.1.102:7003
   slots:[10923-16383] (5461 slots) master
   1 additional replica(s)
S: a10b150d343122ba0a9676842b4494bedb277276 192.168.1.102:7004
   slots: (0 slots) slave
   replicates 1acc43a0295b08139b7bd29241500c66ba40499a
S: 24d804068d10070904f46320117e44df7fb98e1e 192.168.1.102:7005
   slots: (0 slots) slave
   replicates 0407753bce270c9c4bea6bc8bc52f033157d234e
M: 0407753bce270c9c4bea6bc8bc52f033157d234e 192.168.1.102:7002
   slots:[5461-10922] (5462 slots) master
   1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
>>> Send CLUSTER MEET to node 192.16

為新增節(jié)點分配 槽點(slot) rehash

# 為新節(jié)點分配槽點
./redis-cli --cluster reshard 192.168.1.102:7007

為新增master 節(jié)點添加從節(jié)點

# 執(zhí)行命令添加從節(jié)點
./redis-cli --cluster add-node 192.168.1.102:7008 192.168.1.102:7007 --cluster-slave --cluster-master-id 7641497e971067b5226d06cb33a33a5e94398078


[root@master1 bin]# ./redis-cli --cluster add-node 192.168.1.102:7008 192.168.1.102:7007 --cluster-slave --cluster-master-id 7641497e971067b5226d06cb33a33a5e94398078
>>> Adding node 192.168.1.102:7008 to cluster 192.168.1.102:7007
>>> Performing Cluster Check (using node 192.168.1.102:7007)
M: 7641497e971067b5226d06cb33a33a5e94398078 192.168.1.102:7007
   slots:[0-1332],[5461-6794],[10923-12255] (4000 slots) master
S: 24d804068d10070904f46320117e44df7fb98e1e 192.168.1.102:7005
   slots: (0 slots) slave
   replicates 0407753bce270c9c4bea6bc8bc52f033157d234e
M: 0407753bce270c9c4bea6bc8bc52f033157d234e 192.168.1.102:7002
   slots:[6795-10922] (4128 slots) master
   1 additional replica(s)
M: 0d01f85fab5e086afde3eebcd0de39c544dae02c 192.168.1.102:7003
   slots:[12256-16383] (4128 slots) master
   1 additional replica(s)
S: 227b6da7e4ba4414f90d3b1eb0085df4a5a84681 192.168.1.102:7006
   slots: (0 slots) slave
   replicates 0d01f85fab5e086afde3eebcd0de39c544dae02c
M: 1acc43a0295b08139b7bd29241500c66ba40499a 192.168.1.102:7001
   slots:[1333-5460] (4128 slots) master
   1 additional replica(s)
S: a10b150d343122ba0a9676842b4494bedb277276 192.168.1.102:7004
   slots: (0 slots) slave
   replicates 1acc43a0295b08139b7bd29241500c66ba40499a
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
>>> Send CLUSTER MEET to node 192.168.1.102:7008 to make it join the cluster.
Waiting for the cluster to join

>>> Configure node as replica of 192.168.1.102:7007.
[OK] New node added correctly.

縮容測試

# 執(zhí)行縮容命令
./redis-cli --cluster del-node 192.168.1.102:7008 3104e8001e93f9117b3a5421e020ee9753b4677b


[root@master1 bin]# ./redis-cli --cluster del-node 192.168.1.102:7008 3104e8001e93f9117b3a5421e020ee9753b4677b
>>> Removing node 3104e8001e93f9117b3a5421e020ee9753b4677b from cluster 192.168.1.102:7008
>>> Sending CLUSTER FORGET messages to the cluster...
>>> SHUTDOWN the node.

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末澜搅,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖轻掩,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件腔召,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門鼠锈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事衫哥。” “怎么了?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵敲霍,是天一觀的道長柴我。 經常有香客問我夫偶,道長说铃,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮一汽,結果婚禮上监憎,老公的妹妹穿的比我還像新娘褐筛。我一直安慰自己晃痴,他們只是感情好紧唱,可當我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布酬凳。 她就那樣靜靜地躺著,像睡著了一般峦睡。 火紅的嫁衣襯著肌膚如雪榨了。 梳的紋絲不亂的頭發(fā)上转捕,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天枢步,我揣著相機與錄音,去河邊找鬼恍涂。 笑死寝衫,一個胖子當著我的面吹牛慰毅,可吹牛的內容都是我干的隘截。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼汹胃,長吁一口氣:“原來是場噩夢啊……” “哼婶芭!你這毒婦竟也來了?” 一聲冷哼從身側響起着饥,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤犀农,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后宰掉,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體呵哨,經...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年轨奄,在試婚紗的時候發(fā)現(xiàn)自己被綠了孟害。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡戚绕,死狀恐怖,靈堂內的尸體忽然破棺而出枝冀,到底是詐尸還是另有隱情舞丛,我是刑警寧澤耘子,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站球切,受9級特大地震影響谷誓,放射性物質發(fā)生泄漏。R本人自食惡果不足惜吨凑,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一捍歪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧鸵钝,春花似錦糙臼、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至怠堪,卻和暖如春揽乱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背粟矿。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工凰棉, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人陌粹。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓撒犀,卻偏偏與公主長得像,于是被迫代替她去往敵國和親申屹。 傳聞我的和親對象是個殘疾皇子绘证,可洞房花燭夜當晚...
    茶點故事閱讀 44,914評論 2 355