日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Redis集群(一):集群搭建

發(fā)布時(shí)間:2023/12/4 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis集群(一):集群搭建 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

概述

這里只記錄操作步驟和集群測(cè)試,保證快速搭建集群環(huán)境。具體原理請(qǐng)查閱官方文檔(中文版):

http://www.redis.cn/topics/cluster-spec.html

集群容災(zāi):Redis集群(二):集群容災(zāi)

準(zhǔn)備工作

  • 下載并編譯redis

  • 創(chuàng)建6個(gè)以端口號(hào)為名字的目錄,7000~7005,修改redis.conf的端口號(hào)

  • 修改配置:
    #節(jié)點(diǎn)必須作為集群節(jié)點(diǎn)啟動(dòng),普通的Redis實(shí)例不能成為Redis集群的一部分。

    cluster-enabled yes
    #每個(gè)集群節(jié)點(diǎn)都有一個(gè)集群配置文件,這個(gè)文件不需要手工編輯,它由Redis節(jié)點(diǎn)創(chuàng)建和更新。每個(gè)Redis集群節(jié)點(diǎn)都需要一個(gè)不同的集群配置文件,確保統(tǒng)一系統(tǒng)中運(yùn)行的實(shí)例沒有重復(fù)的集群配置文件名。

    cluster-config-file nodes-6379.conf
    #集群節(jié)點(diǎn)超時(shí)是指當(dāng)一個(gè)節(jié)點(diǎn)超時(shí)達(dá)到指定的毫秒數(shù)時(shí)讓它處于失敗狀態(tài)。大多數(shù)其他內(nèi)部時(shí)間限制是節(jié)點(diǎn)超時(shí)的倍數(shù)。

    cluster-node-timeout 15000
    #以獨(dú)立日志的方式記錄每次寫命令,重啟時(shí)再重新執(zhí)行AOF文件中的命令達(dá)到恢復(fù)數(shù)據(jù)的目的,一定要開啟
    appendonly yes

  • 分別啟動(dòng)這6個(gè)服務(wù):src/redis-server redis.conf

安裝Ruby環(huán)境(5.0版本不再需要)

sudo?apt-get?install?ruby

安裝ruby的redis接口:

sudo?gem?install?redis

如果不安裝,后面執(zhí)行腳本會(huì)報(bào)錯(cuò):

custom_require.rb:36:in `require': cannot load such file -- redis (LoadError)

from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'

from ./redis-trib.rb:25:in `<main>'

啟動(dòng)集群

進(jìn)入到redis的src目錄下,執(zhí)行命令:

5.0版本:

redis要求集群至少有3個(gè)節(jié)點(diǎn),這里為了方便,只啟動(dòng)了3個(gè)節(jié)點(diǎn),沒有為每個(gè)節(jié)點(diǎn)做一個(gè)從節(jié)點(diǎn),所以--cluster-replicas為0

./redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 --cluster-replicas 0 命令返回信息: >>> Performing hash slots allocation on 3 nodes... Master[0] -> Slots 0 - 5460 Master[1] -> Slots 5461 - 10922 Master[2] -> Slots 10923 - 16383 M: 3bcdfbed858bbdd92dd760632b9cb4c649947fed 127.0.0.1:7000slots:[0-5460] (5461 slots) master M: 2a8f29e22ec38f56e062f588e5941da24a2bafa0 127.0.0.1:7001slots:[5461-10922] (5462 slots) master M: 9b022d79cf860c87dc2190cdffc55b282dd60e42 127.0.0.1:7002slots:[10923-16383] (5461 slots) master Can I set the above configuration? (type 'yes' to accept):輸入yes接受redis的上述配置,然后返回信息: >>> Nodes configuration updated >>> Assign a different config epoch to each node >>> Sending CLUSTER MEET messages to join the cluster Waiting for the cluster to join . >>> Performing Cluster Check (using node 127.0.0.1:7000) M: 3bcdfbed858bbdd92dd760632b9cb4c649947fed 127.0.0.1:7000slots:[0-5460] (5461 slots) master M: 9b022d79cf860c87dc2190cdffc55b282dd60e42 127.0.0.1:7002slots:[10923-16383] (5461 slots) master M: 2a8f29e22ec38f56e062f588e5941da24a2bafa0 127.0.0.1:7001slots:[5461-10922] (5462 slots) master [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered.

5.0之前的版本:

./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

命令的意義如下:

  • 給定?redis-trib.rb?程序的命令是?create?, 這表示我們希望創(chuàng)建一個(gè)新的集群。

  • 選項(xiàng)?--replicas?1?表示我們希望為集群中的每個(gè)主節(jié)點(diǎn)創(chuàng)建一個(gè)從節(jié)點(diǎn)。

  • 之后跟著的其他參數(shù)則是實(shí)例的地址列表, 我們希望程序使用這些地址所指示的實(shí)例來創(chuàng)建新集群。

查看集群目前狀況

#-c:連接集群結(jié)點(diǎn)時(shí)使用,此選項(xiàng)可防止moved和ask異常。 $?redis-cli?-c?-p?7000 127.0.0.1:7000>?cluster?info 返回信息: cluster_state:ok cluster_slots_assigned:16384 cluster_slots_ok:16384 cluster_slots_pfail:0 cluster_slots_fail:0 cluster_known_nodes:3 cluster_size:3 cluster_current_epoch:3 cluster_my_epoch:1 cluster_stats_messages_ping_sent:774 cluster_stats_messages_pong_sent:762 cluster_stats_messages_sent:1536 cluster_stats_messages_ping_received:760 cluster_stats_messages_pong_received:774 cluster_stats_messages_meet_received:2 cluster_stats_messages_received:1536

查看節(jié)點(diǎn)基本信息:

127.0.0.1:7002> cluster nodes 返回信息: 節(jié)點(diǎn)id 節(jié)點(diǎn)IP 端口 主從 負(fù)責(zé)的Hash槽 2a8f29e22ec38f56e062f588e5941da24a2bafa0 127.0.0.1:7001@17001 master - 0 1542785512690 2 connected 5461-10922 3bcdfbed858bbdd92dd760632b9cb4c649947fed 127.0.0.1:7000@17000 master - 0 1542785511654 1 connected 0-5460 9b022d79cf860c87dc2190cdffc55b282dd60e42 127.0.0.1:7002@17002 myself,master - 0 1542785510000 3 connected 10923-16383

測(cè)試存值取值

注意:使用redic-cli命令連接時(shí),必須加上-c參數(shù),表示以集群的方式連接,這樣在操作數(shù)據(jù)時(shí)會(huì)自動(dòng)跳轉(zhuǎn)到數(shù)據(jù)所在的節(jié)點(diǎn)。否則會(huì)收到類似提示:(error) MOVED 12182 127.0.0.1:7002。

127.0.0.1:7000> set foo bar -> Redirected to slot [12182] located at 127.0.0.1:7002 OK127.0.0.1:7002> set hello world -> Redirected to slot [866] located at 127.0.0.1:7000 OK127.0.0.1:7000> get foo -> Redirected to slot [12182] located at 127.0.0.1:7002 "bar"127.0.0.1:7000> get hello -> Redirected to slot [866] located at 127.0.0.1:7000 "world"

添加Master節(jié)點(diǎn)到集群

  • 按照Redis集群一的方式,創(chuàng)建端口為7003的新實(shí)例,并啟動(dòng)該實(shí)例

  • 將7003添加到集群:
    第二個(gè)參數(shù)127.0.0.1:7000為當(dāng)前集群已存在的節(jié)點(diǎn),這里只要是該集群中的任意一個(gè)可用節(jié)點(diǎn)都可以,不要求必須是第一個(gè)。
    新節(jié)點(diǎn)不能有數(shù)據(jù),否則會(huì)報(bào)錯(cuò):[ERR] Node 127.0.0.1:7003 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0。一般是直接復(fù)制正在使用的redis目錄導(dǎo)致的,使用redis-cli連接該服務(wù),然后依次執(zhí)行flushall和cluster reset命令。

./redis-cli --cluster add-node 127.0.0.1:7003 127.0.0.1:7000 返回信息: >>> Adding node 127.0.0.1:7003 to cluster 127.0.0.1:7000 >>> Performing Cluster Check (using node 127.0.0.1:7000) M: 3bcdfbed858bbdd92dd760632b9cb4c649947fed 127.0.0.1:7000slots:[0-5460] (5461 slots) master M: 9b022d79cf860c87dc2190cdffc55b282dd60e42 127.0.0.1:7002slots:[10923-16383] (5461 slots) master M: 2a8f29e22ec38f56e062f588e5941da24a2bafa0 127.0.0.1:7001slots:[5461-10922] (5462 slots) master [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered. >>> Send CLUSTER MEET to node 127.0.0.1:7003 to make it join the cluster. [OK] New node added correctly.

查看操作后的節(jié)點(diǎn)信息:

./redis-cli -c -p 7003 127.0.0.1:7003> cluster nodes 返回信息: 2a8f29e22ec38f56e062f588e5941da24a2bafa0 127.0.0.1:7001@17001 master - 0 1542787865456 2 connected 5461-10922 a70d7fff6d6dde511cb7cb632a347be82dd34643 127.0.0.1:7003@17003 myself,slave 3bcdfbed858bbdd92dd760632b9cb4c649947fed 0 1542787863000 0 connected 9b022d79cf860c87dc2190cdffc55b282dd60e42 127.0.0.1:7002@17002 master - 0 1542787865000 3 connected 10923-16383 3bcdfbed858bbdd92dd760632b9cb4c649947fed 127.0.0.1:7000@17000 master - 0 1542787862000 1 connected 0-5460

可以看到7003節(jié)點(diǎn)的connected后面沒有Hash槽(slot),新加入的加點(diǎn)是一個(gè)主節(jié)點(diǎn), 當(dāng)集群需要將某個(gè)從節(jié)點(diǎn)升級(jí)為新的主節(jié)點(diǎn)時(shí), 這個(gè)新節(jié)點(diǎn)不會(huì)被選中,也不會(huì)參與選舉。

  • 給新節(jié)點(diǎn)分配哈希槽:

#參數(shù)127.0.0.1:7000只是表示連接到這個(gè)集群,具體對(duì)哪個(gè)節(jié)點(diǎn)進(jìn)行操作后面會(huì)提示輸入 ./redis-cli --cluster reshard 127.0.0.1:7000 返回信息: >>> Performing Cluster Check (using node 127.0.0.1:7000) M: 3bcdfbed858bbdd92dd760632b9cb4c649947fed 127.0.0.1:7000slots:[0-5460] (5461 slots) master1 additional replica(s) M: 9b022d79cf860c87dc2190cdffc55b282dd60e42 127.0.0.1:7002slots:[10923-16383] (5461 slots) master S: a70d7fff6d6dde511cb7cb632a347be82dd34643 127.0.0.1:7003slots: (0 slots) slavereplicates 3bcdfbed858bbdd92dd760632b9cb4c649947fed M: 2a8f29e22ec38f56e062f588e5941da24a2bafa0 127.0.0.1:7001slots:[5461-10922] (5462 slots) master [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered.#根據(jù)提示選擇要遷移的slot數(shù)量(這里選擇1000) How?many?slots?do?you?want?to?move?(from?1?to?16384)??1000#選擇要接受這些slot的node-id(這里是7003) What?is?the?receiving?node?ID??a70d7fff6d6dde511cb7cb632a347be82dd34643#選擇slot來源: #all表示從所有的master重新分配, #或者數(shù)據(jù)要提取slot的master節(jié)點(diǎn)id(這里是7000),最后用done結(jié)束 Please?enter?all?the?source?node?IDs.Type?'all'?to?use?all?the?nodes?as?source?nodes?for?the?hash?slots.Type?'done'?once?you?entered?all?the?source?nodes?IDs. Source?node?#1:3bcdfbed858bbdd92dd760632b9cb4c649947fed Source?node?#2:done#打印被移動(dòng)的slot后,輸入yes開始移動(dòng)slot以及對(duì)應(yīng)的數(shù)據(jù). Do?you?want?to?proceed?with?the?proposed?reshard?plan?(yes/no)??yes #結(jié)束
  • 查看操作結(jié)果:

./redis-cli?-c?-p?7000 cluster?nodes 返回信息: 9b022d79cf860c87dc2190cdffc55b282dd60e42 127.0.0.1:7002@17002 master - 0 1542790503483 3 connected 10923-16383 3bcdfbed858bbdd92dd760632b9cb4c649947fed 127.0.0.1:7000@17000 myself,master - 0 1542790503000 1 connected 1000-5460 e852e07181f20dd960407e5b08f7122870f67c89 127.0.0.1:7003@17003 master - 0 1542790502458 4 connected 0-999 2a8f29e22ec38f56e062f588e5941da24a2bafa0 127.0.0.1:7001@17001 master - 0 1542790504513 2 connected 5461-10922

????可以看到返回的集群信息中,7003擁有了0-999哈希槽,而7000變成了1000-5460

添加Slave節(jié)點(diǎn)到集群

  • 按照Redis集群一的方式,創(chuàng)建端口為7004的新實(shí)例,并啟動(dòng)該實(shí)例

  • 將7004添加到集群:
    由于沒有指定master節(jié)點(diǎn),所以redis會(huì)自動(dòng)分配master節(jié)點(diǎn),這里把7000作為7004的master。
    注意:add-node命令后面的127.0.0.1:7000并不是指7000作為新節(jié)點(diǎn)的master。

./redis-cli --cluster add-node 127.0.0.1:7004 127.0.0.1:7000 --cluster-slave 返回信息: >>> Adding node 127.0.0.1:7004 to cluster 127.0.0.1:7000 >>> Performing Cluster Check (using node 127.0.0.1:7000) M: 3bcdfbed858bbdd92dd760632b9cb4c649947fed 127.0.0.1:7000slots:[1000-5460] (4461 slots) master M: 9b022d79cf860c87dc2190cdffc55b282dd60e42 127.0.0.1:7002slots:[10923-16383] (5461 slots) master M: e852e07181f20dd960407e5b08f7122870f67c89 127.0.0.1:7003slots:[0-999] (1000 slots) master M: 2a8f29e22ec38f56e062f588e5941da24a2bafa0 127.0.0.1:7001slots:[5461-10922] (5462 slots) master [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered. Automatically selected master 127.0.0.1:7000 >>> Send CLUSTER MEET to node 127.0.0.1:7004 to make it join the cluster. Waiting for the cluster to join>>> Configure node as replica of 127.0.0.1:7000. [OK] New node added correctly.
  • 也可以添加時(shí)指定master節(jié)點(diǎn):
    --cluster-master-id為master節(jié)點(diǎn)的 id

./redis-cli --cluster add-node 127.0.0.1:7004 127.0.0.1:7000 --cluster-slave --cluster-master-id 2a8f29e22ec38f56e062f588e5941da24a2bafa0
  • 更改master節(jié)點(diǎn)為7002:

./redis-cli -p 7004 127.0.0.1:7004> cluster replicate 9b022d79cf860c87dc2190cdffc55b282dd60e42 OK

刪除一個(gè)Slave節(jié)點(diǎn)

#redis-trib?del-node?ip:port?'<node-id>' #這里移除的是7004 ./redis-cli --cluster del-node 127.0.0.1:7000 74957282ffa94c828925c4f7026baac04a67e291 返回信息: >>> Removing node 74957282ffa94c828925c4f7026baac04a67e291 from cluster 127.0.0.1:7000 >>> Sending CLUSTER FORGET messages to the cluster... >>> SHUTDOWN the node.

刪除一個(gè)Master節(jié)點(diǎn)

刪除master節(jié)點(diǎn)之前首先要使用reshard移除master的全部slot,然后再刪除當(dāng)前節(jié)點(diǎn)(目前只能把被刪除master的slot遷移到一個(gè)節(jié)點(diǎn)上)

./redis-cli --cluster reshard 127.0.0.1:7000 #根據(jù)提示選擇要遷移的slot數(shù)量(7003上有1000個(gè)slot全部轉(zhuǎn)移) How?many?slots?do?you?want?to?move?(from?1?to?16384)??1000 #選擇要接受這些slot的node-id What?is?the?receiving?node?ID??3bcdfbed858bbdd92dd760632b9cb4c649947fed #選擇slot來源: #all表示從所有的master重新分配, #或者數(shù)據(jù)要提取slot的master節(jié)點(diǎn)id,最后用done結(jié)束 Please?enter?all?the?source?node?IDs.Type?'all'?to?use?all?the?nodes?as?source?nodes?for?the?hash?slots.Type?'done'?once?you?entered?all?the?source?nodes?IDs. Source?node?#1:a70d7fff6d6dde511cb7cb632a347be82dd34643 Source?node?#2:done #打印被移動(dòng)的slot后,輸入yes開始移動(dòng)slot以及對(duì)應(yīng)的數(shù)據(jù). #Do?you?want?to?proceed?with?the?proposed?reshard?plan?(yes/no)??yes #結(jié)束#刪除空master節(jié)點(diǎn) ./redis-cli --cluster del-node 127.0.0.1:7000?'a70d7fff6d6dde511cb7cb632a347be82dd34643'

故障測(cè)試

?啟動(dòng)一個(gè)集群,其中7004節(jié)點(diǎn)是7003節(jié)點(diǎn)的從節(jié)點(diǎn):

127.0.0.1:7003> cluster nodes ea4e0dcf8dbf6d4611659b5abbd6563926224f0f 127.0.0.1:7004@17004 slave e852e07181f20dd960407e5b08f7122870f67c89 0 1542793126295 4 connected 3bcdfbed858bbdd92dd760632b9cb4c649947fed 127.0.0.1:7000@17000 master - 0 1542793125260 1 connected 1000-5460 2a8f29e22ec38f56e062f588e5941da24a2bafa0 127.0.0.1:7001@17001 master - 0 1542793124000 2 connected 5461-10922 e852e07181f20dd960407e5b08f7122870f67c89 127.0.0.1:7003@17003 myself,master - 0 1542793124000 4 connected 0-999 9b022d79cf860c87dc2190cdffc55b282dd60e42 127.0.0.1:7002@17002 master - 0 1542793126000 3 connected 10923-16383

在集群中添加了key:"hello",該key被放到了7003節(jié)點(diǎn)

127.0.0.1:7002> set hello world -> Redirected to slot [866] located at 127.0.0.1:7003 OK

讓7003節(jié)點(diǎn)崩潰:

./redis-cli -p 7003 debug segfault Error: Server closed the connection

查看節(jié)點(diǎn)狀態(tài),發(fā)現(xiàn)7003狀態(tài)為fail,7004被提升為master

127.0.0.1:7000> cluster nodes 9b022d79cf860c87dc2190cdffc55b282dd60e42 127.0.0.1:7002@17002 master - 0 1542793571000 3 connected 10923-16383 3bcdfbed858bbdd92dd760632b9cb4c649947fed 127.0.0.1:7000@17000 myself,master - 0 1542793570000 1 connected 1000-5460 2a8f29e22ec38f56e062f588e5941da24a2bafa0 127.0.0.1:7001@17001 master - 0 1542793571422 2 connected 5461-10922 ea4e0dcf8dbf6d4611659b5abbd6563926224f0f 127.0.0.1:7004@17004 master - 0 1542793572442 5 connected 0-999 e852e07181f20dd960407e5b08f7122870f67c89 127.0.0.1:7003@17003 master,fail - 1542793477237 1542793474000 4 disconnected

從集群獲取"hello",被轉(zhuǎn)發(fā)到7004

127.0.0.1:7000> get hello -> Redirected to slot [866] located at 127.0.0.1:7004 "world"

重新啟動(dòng)7003,發(fā)現(xiàn)7003自動(dòng)加入集群,并變成了slave

127.0.0.1:7004> cluster nodes ea4e0dcf8dbf6d4611659b5abbd6563926224f0f 127.0.0.1:7004@17004 myself,master - 0 1542793764000 5 connected 0-999 3bcdfbed858bbdd92dd760632b9cb4c649947fed 127.0.0.1:7000@17000 master - 0 1542793765000 1 connected 1000-5460 2a8f29e22ec38f56e062f588e5941da24a2bafa0 127.0.0.1:7001@17001 master - 0 1542793765560 2 connected 5461-10922 9b022d79cf860c87dc2190cdffc55b282dd60e42 127.0.0.1:7002@17002 master - 0 1542793764529 3 connected 10923-16383 e852e07181f20dd960407e5b08f7122870f67c89 127.0.0.1:7003@17003 slave ea4e0dcf8dbf6d4611659b5abbd6563926224f0f 0 1542793766585 5 connected

獲取"hello",被轉(zhuǎn)發(fā)到master節(jié)點(diǎn)7004

127.0.0.1:7002> get hello -> Redirected to slot [866] located at 127.0.0.1:7004 "world"

將7003和7004都下線,然后再獲取"hello",報(bào)錯(cuò)提示集群已下線

127.0.0.1:7000> cluster nodes 9b022d79cf860c87dc2190cdffc55b282dd60e42 127.0.0.1:7002@17002 master - 0 1542794095233 3 connected 10923-16383 3bcdfbed858bbdd92dd760632b9cb4c649947fed 127.0.0.1:7000@17000 myself,master - 0 1542794094000 1 connected 1000-5460 2a8f29e22ec38f56e062f588e5941da24a2bafa0 127.0.0.1:7001@17001 master - 0 1542794096261 2 connected 5461-10922 ea4e0dcf8dbf6d4611659b5abbd6563926224f0f 127.0.0.1:7004@17004 master,fail - 1542794075628 1542794074000 5 disconnected 0-999 e852e07181f20dd960407e5b08f7122870f67c89 127.0.0.1:7003@17003 slave,fail ea4e0dcf8dbf6d4611659b5abbd6563926224f0f 1542794070058 1542794067000 5 disconnected127.0.0.1:7000> get hello (error) CLUSTERDOWN The cluster is down

啟動(dòng)7003,報(bào)錯(cuò),原因是7003下線時(shí)是7004的從節(jié)點(diǎn),啟動(dòng)后默認(rèn)去主節(jié)點(diǎn)同步數(shù)據(jù)。

Connecting to MASTER 127.0.0.1:7004 MASTER <-> REPLICA sync started Error condition on socket for SYNC: Connection refused

啟動(dòng)7004,獲取"hello",恢復(fù)正常

127.0.0.1:7002> get hello -> Redirected to slot [866] located at 127.0.0.1:7004 "world"

集群故障修復(fù)

現(xiàn)在有7000~7003共4個(gè)節(jié)點(diǎn)的集群,其中0~999slot在7003上,"set hello world"并被分配到7003。

127.0.0.1:7000> cluster nodes e852e07181f20dd960407e5b08f7122870f67c89 127.0.0.1:7003@17003 master - 0 1542852396911 6 connected 0-999 9b022d79cf860c87dc2190cdffc55b282dd60e42 127.0.0.1:7002@17002 master - 0 1542852395887 3 connected 10923-16383 2a8f29e22ec38f56e062f588e5941da24a2bafa0 127.0.0.1:7001@17001 master - 0 1542852394863 2 connected 5461-10922 3bcdfbed858bbdd92dd760632b9cb4c649947fed 127.0.0.1:7000@17000 myself,master - 0 1542852395000 1 connected 1000-5460

關(guān)閉7003之后,在集群做任何存取值操作都會(huì)報(bào)錯(cuò):(error) CLUSTERDOWN The cluster is down。原因是0~999 sloat在7003上,Redis認(rèn)為slot不完整,所以報(bào)錯(cuò)。

127.0.0.1:7000> get hello (error) CLUSTERDOWN The cluster is down 127.0.0.1:7000> get foo (error) CLUSTERDOWN The cluster is down

執(zhí)行fix命令,提示無法連接,因?yàn)?003已經(jīng)被關(guān)閉了[Facepalm]

./redis-cli --cluster fix 127.0.0.1:7003 Could not connect to Redis at 127.0.0.1:7003: Connection refused

重新開啟7003恢復(fù)正常。

轉(zhuǎn)載于:https://my.oschina.net/tongyufu/blog/406829

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的Redis集群(一):集群搭建的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。