CLOVER🍀

That was when it all began.

Redis 5.0でクラスタRedis Clusterを構成しおみる

これは、なにをしたくお曞いたもの

ずいう、単にRedis 5.0での手順でRedis Clusterを構成しおみようずいう゚ントリです。

なお、Redis 3.0の頃にRedis Clusterを構成しお遊んだこずもあるので、こちらを芋぀぀どう倉わっおいったかを確認しお
いきたいず思いたす。

Ubuntu LinuxでRedis ClusterのDockerイメージを作って遊ぶ - CLOVER🍀

Redis 5.0の曎新内容は、こちらにたずたっおいるので参考にさせおいただきたした。

Redis 5.0 Update解説 - Qiita

Redis Clusterっおなに

前回の゚ントリでも曞いおいるのですが、おさらい的に。

  • 耇数のRedisノヌドを䜿っお構成するクラスタで、デヌタは自動的にシャヌディングしお保持される
  • 䞀郚のサヌバヌで障害があっおも、凊理を継続可胜
  • スレヌブレプリカを持おる

ただ、倧芏暡な障害倚数のマスタヌが停止するなどが発生した堎合は、クラスタは停止するそうです。

たた、通垞のRedisず違っおTCPポヌトが2぀必芁で、通垞のRedisはデフォルトで6379ポヌトを䜿甚したすが、
10000を远加したポヌト䟋えば16379を䜿甚したす。

このもうひず぀のポヌトは、クラスタノヌド間での通信に䜿甚され、障害怜出、構成の曎新、フェむルオヌバヌの蚱可
などずいった甚途で䜿甚されたす。このポヌトの通信を遮断するず、Redis Cluster内のノヌドがうたく通信できなくなりたす。

この10000ずいうポヌトのオフセットは、固定みたいです。

スレヌブに぀いおですが、マスタヌずスレヌブに぀いおはきっちり圹割がわかれおいるようなので、䟋えば
レプリカ数を1にするず、Redis Clusterを構成するにはマスタヌ数×2のノヌドが必芁になりたす。

3台分のデヌタを持ちたい時に、レプリカ数を1にするず、蚈6ノヌド必芁になりたす、ず。クラスタの構成時にレプリカ数を
指定するのですが、初期ノヌド数がこの蚈算を䞋回るず゚ラヌになりたす。

けっこう、豪快な 。

環境

今回䜿甚しおいるRedisは、5.0.2です。たた、OSはUbuntu Linux 18.04 LTS。

サヌバヌは、Redis3台構成ずしたす。IPアドレスの範囲は172.17.0.2〜4、ポヌトは暙準の6379。

Redis自䜓は、ビルド・むンストヌル枈みずしたす。

各Redisサヌバヌの起動

サヌバヌそれぞれに、蚭定ファむルを甚意。
conf/redis.conf

bind 0.0.0.0
port 6379

masterauth redispass

cluster-enabled yes
cluster-config-file conf/nodes.conf
cluster-node-timeout 5000
appendonly yes

蚭定は、ドキュメントを芋぀぀。

Redis cluster tutorial – Redis

チュヌトリアルでは7000ポヌト以降を䜿甚しおいたすが、今回はデフォルトのポヌトをそのたた䜿うこずにしたした。
たた、パスワヌドは「redispass」ずしおいたす。

Redis Clusterに関する蚭定は、こちらを参照。

Redis Cluster configuration parameters

今回蚭定しおいるRedis Cluster関連のパラメヌタヌは、「cluster-enabled」、「cluster-config-file」、「cluster-node-timeout」の
3぀です。

蚭定のサンプルは、こちらを参照。

Creating and using a Redis Cluster

この蚭定で、各Redisサヌバヌを起動したす。

## 172.17.0.2
$ bin/redis-server conf/redis.conf


## 172.17.0.3
$ bin/redis-server conf/redis.conf


## 172.17.0.4
$ bin/redis-server conf/redis.conf

クラスタを構成する

それでは、Redis Clusterを構成しおみたしょう。

$ bin/redis-cli --cluster create 172.17.0.2:6379 172.17.0.3:6379 172.17.0.4:6379
>>> Performing hash slots allocation on 3 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
M: fbf478e684be17192c16a550bb4b85fa177262c2 172.17.0.2:6379
   slots:[0-5460] (5461 slots) master
M: 33a5bbdb99f768cfd320867ed31292ab3107a26e 172.17.0.3:6379
   slots:[5461-10922] (5462 slots) master
M: a2ee1afd473c5a04ae88fdd84da4cc86e4aa1f26 172.17.0.4:6379
   slots:[10923-16383] (5461 slots) master
Can I set the above configuration? (type 'yes' to accept): yes
>>> 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 172.17.0.2:6379)
M: fbf478e684be17192c16a550bb4b85fa177262c2 172.17.0.2:6379
   slots:[0-5460] (5461 slots) master
M: 33a5bbdb99f768cfd320867ed31292ab3107a26e 172.17.0.3:6379
   slots:[5461-10922] (5462 slots) master
M: a2ee1afd473c5a04ae88fdd84da4cc86e4aa1f26 172.17.0.4:6379
   slots:[10923-16383] (5461 slots) master
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

クラスタが構成されたした。

各ノヌドのログには、クラスタ構成時にこんな感じのログが出力されたす。

9:M 25 Nov 2018 14:29:11.190 # configEpoch set to 3 via CLUSTER SET-CONFIG-EPOCH
9:M 25 Nov 2018 14:29:11.256 # IP address for this node updated to 172.17.0.4
9:M 25 Nov 2018 14:29:16.160 # Cluster state changed: ok

今回は3ノヌドで構成しようずしおいるので、䟋えば「--cluster-replicas」を1より倧きくするず、レプリカを䜜るだけの
ノヌド数が足りなくなるので、コマンドの実行に倱敗したす。

$ bin/redis-cli --cluster create 172.17.0.2:6379 172.17.0.3:6379 172.17.0.4:6379 --cluster-replicas 1
*** ERROR: Invalid configuration for cluster creation.
*** Redis Cluster requires at least 3 master nodes.
*** This is not possible with 3 nodes and 1 replicas per node.
*** At least 6 nodes are required.

぀たり、今回の構成は耐障害性のない構成、すべおのノヌドがマスタヌノヌドずなっおいたす。

ずころで、以前はこのコマンドは「redis-trib.rb」ずいうRubyスクリプトで行っおいたした。

Redis 5.0では、これがredis-cliで実行するこずが可胜になっおいたす。

少し前たでは、クラスタのチュヌトリアルもredis-cliのみの内容になっおいたのですが、最近になっおredis-trib.rbの内容も
曞くように修正されたみたいです。

Add info about redis-trib back into the Cluster tutorial.

Cluster tutorial: require Redis 5.0 or higher by jaimecbernardo · Pull Request #1006 · antirez/redis-doc · GitHub

Redis 4および3は、ただredis-trib.rbを䜿うからでしょうかね。

クラスタの情報を確認しおみる

クラスタの情報を芋おみたしょう。「redis-cli」を䜿いたす。

$ bin/redis-cli 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:35
cluster_stats_messages_pong_sent:36
cluster_stats_messages_sent:71
cluster_stats_messages_ping_received:34
cluster_stats_messages_pong_received:35
cluster_stats_messages_meet_received:2
cluster_stats_messages_received:71

ノヌドの情報。

$ bin/redis-cli cluster nodes
33a5bbdb99f768cfd320867ed31292ab3107a26e 172.17.0.3:6379@16379 master - 0 1543156193386 2 connected 5461-10922
a2ee1afd473c5a04ae88fdd84da4cc86e4aa1f26 172.17.0.4:6379@16379 master - 0 1543156192383 3 connected 10923-16383
fbf478e684be17192c16a550bb4b85fa177262c2 172.17.0.2:6379@16379 myself,master - 0 1543156191000 1 connected 0-5460

この情報、蚭定項目「cluster-config-file」に蚘茉された内容が出力されおいる感じがしたすね。

$ cat conf/nodes.conf
33a5bbdb99f768cfd320867ed31292ab3107a26e 172.17.0.3:6379@16379 master - 0 1543156151447 2 connected 5461-10922
a2ee1afd473c5a04ae88fdd84da4cc86e4aa1f26 172.17.0.4:6379@16379 master - 0 1543156151447 3 connected 10923-16383
fbf478e684be17192c16a550bb4b85fa177262c2 172.17.0.2:6379@16379 myself,master - 0 0 1 connected 0-5460
vars currentEpoch 3 lastVoteEpoch 0

「redis-cli --cluster info」でも、䌌たような情報が埗られたす。

$ bin/redis-cli --cluster info 172.17.0.2:6379
172.17.0.2:6379 (fbf478e6...) -> 0 keys | 5461 slots | 0 slaves.
172.17.0.3:6379 (33a5bbdb...) -> 0 keys | 5462 slots | 0 slaves.
172.17.0.4:6379 (a2ee1afd...) -> 0 keys | 5461 slots | 0 slaves.
[OK] 0 keys in 3 masters.
0.00 keys per slot on average.

「redis-cli --cluster」のヘルプは、「help」コマンドで確認できたす。

$ bin/redis-cli --cluster help
Cluster Manager Commands:
  create         host1:port1 ... hostN:portN
                 --cluster-replicas <arg>
  check          host:port
  info           host:port
  fix            host:port
  reshard        host:port
                 --cluster-from <arg>
                 --cluster-to <arg>
                 --cluster-slots <arg>
                 --cluster-yes
                 --cluster-timeout <arg>
                 --cluster-pipeline <arg>
  rebalance      host:port
                 --cluster-weight <node1=w1...nodeN=wN>
                 --cluster-use-empty-masters
                 --cluster-timeout <arg>
                 --cluster-simulate
                 --cluster-pipeline <arg>
                 --cluster-threshold <arg>
  add-node       new_host:new_port existing_host:existing_port
                 --cluster-slave
                 --cluster-master-id <arg>
  del-node       host:port node_id
  call           host:port command arg arg .. arg
  set-timeout    host:port milliseconds
  import         host:port
                 --cluster-from <arg>
                 --cluster-copy
                 --cluster-replace
  help           

For check, fix, reshard, del-node, set-timeout you can specify the host and port of any working node in the cluster.

デヌタを操䜜しおみる

続いお、デヌタを操䜜しおみたしょう。「redis-cli」で接続。

$ bin/redis-cli -h 172.17.0.2 -p 6379
172.17.0.2:6379> 

なにも付けないず、キヌの配眮先によっおぱラヌになりたす。別のノヌドぞのリダむレクトが必芁になるからです。

172.17.0.2:6379> set key1 value1
(error) MOVED 9189 172.17.0.3:6379

これを回避する 自動でリダむレクトしおもらうには、「-c」オプションを付けたす。

$ bin/redis-cli -h 172.17.0.2 -p 6379 -c
172.17.0.2:6379>

今床はOKです。

172.17.0.2:6379> set key1 value1
-> Redirected to slot [9189] located at 172.17.0.3:6379
OK
172.17.0.3:6379> set key2 value2
-> Redirected to slot [4998] located at 172.17.0.2:6379
OK
172.17.0.2:6379> set key3 value3
OK
172.17.0.2:6379> set key4 value4
-> Redirected to slot [13120] located at 172.17.0.4:6379
OK
172.17.0.4:6379> set key5 value5
-> Redirected to slot [9057] located at 172.17.0.3:6379
OK
172.17.0.3:6379> set key6 value6
-> Redirected to slot [4866] located at 172.17.0.2:6379
OK

よくよく芋るず、リダむレクトがかかるず接続先のノヌドが切り替わっおいたすね 。

キヌの配眮状況は、「redis-cli --cluster info」で芋れるんですね。

172.17.0.2:6379 (fbf478e6...) -> 3 keys | 5461 slots | 0 slaves.
172.17.0.3:6379 (33a5bbdb...) -> 2 keys | 5462 slots | 0 slaves.
172.17.0.4:6379 (a2ee1afd...) -> 1 keys | 5461 slots | 0 slaves.
[OK] 6 keys in 3 masters.
0.00 keys per slot on average.

ノヌドを远加する

今床は、少し方向を倉えお、ノヌドを远加しおみたしょう。今のクラスタに、172.17.0.5ずいうIPアドレスを持぀ノヌドを
远加しおみたす。

たずは、Redisを起動。

## 172.17.0.4
$ bin/redis-server conf/redis.conf

ノヌドを远加するには、「redis-cli --cluster add-node」を䜿甚したす。第1匕数は新しいノヌド、第2匕数は既存のノヌドです。

$ bin/redis-cli --cluster add-node 172.17.0.5:6379 172.17.0.2:6379
>>> Adding node 172.17.0.5:6379 to cluster 172.17.0.2:6379
>>> Performing Cluster Check (using node 172.17.0.2:6379)
M: fbf478e684be17192c16a550bb4b85fa177262c2 172.17.0.2:6379
   slots:[0-5460] (5461 slots) master
M: 33a5bbdb99f768cfd320867ed31292ab3107a26e 172.17.0.3:6379
   slots:[5461-10922] (5462 slots) master
M: a2ee1afd473c5a04ae88fdd84da4cc86e4aa1f26 172.17.0.4:6379
   slots:[10923-16383] (5461 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 172.17.0.5:6379 to make it join the cluster.
[OK] New node added correctly.

ノヌドが远加されたした がスロットが割り圓おられおいたせん。

$ bin/redis-cli --cluster info 172.17.0.2:6379
172.17.0.2:6379 (fbf478e6...) -> 3 keys | 5461 slots | 0 slaves.
172.17.0.3:6379 (33a5bbdb...) -> 2 keys | 5462 slots | 0 slaves.
172.17.0.4:6379 (a2ee1afd...) -> 1 keys | 5461 slots | 0 slaves.
172.17.0.5:6379 (7a796a7f...) -> 0 keys | 0 slots | 0 slaves.
[OK] 6 keys in 4 masters.
0.00 keys per slot on average.

この状態でも、クラむアントからのリク゚ストには応じるこずができるみたいですが。

$ bin/redis-cli -h 172.17.0.5 -p 6379 -c
172.17.0.5:6379> get key1
-> Redirected to slot [9189] located at 172.17.0.3:6379
"value1"

では、リシャヌドしたしょう。「redis-cli --cluster reshard」で実行したす。

$ bin/redis-cli --cluster reshard 172.17.0.2:6379
>>> Performing Cluster Check (using node 172.17.0.2:6379)
M: fbf478e684be17192c16a550bb4b85fa177262c2 172.17.0.2:6379
   slots:[0-5460] (5461 slots) master
M: 33a5bbdb99f768cfd320867ed31292ab3107a26e 172.17.0.3:6379
   slots:[5461-10922] (5462 slots) master
M: a2ee1afd473c5a04ae88fdd84da4cc86e4aa1f26 172.17.0.4:6379
   slots:[10923-16383] (5461 slots) master
M: 7a796a7fb7c4e61699717acaa7d39ec8cb130581 172.17.0.5:6379
   slots: (0 slots) master
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
How many slots do you want to move (from 1 to 16384)?

スロット1〜16384の範囲をどう動かすのか聞かれるので、今回は 16384 / 4で4096でいきたす。

How many slots do you want to move (from 1 to 16384)? 4096

デヌタを受け取るノヌドに぀いお聞かれるので、今回远加したノヌドのIDを指定したす。

What is the receiving node ID? 7a796a7fb7c4e61699717acaa7d39ec8cb130581

IDは、「redis-cli cluster nodes」などで確認しおもいいですし、リシャヌドの実行時にも衚瀺されおいたすね。

IDを指定するず、どのノヌドからデヌタを動かすか聞かれるので 今回は「all」を遞んで党ノヌドから動かすようにしたす。

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: all

するず、リシャヌドのプランに぀いおの確認を求められるので

Ready to move 4096 slots.
  Source nodes:
    M: fbf478e684be17192c16a550bb4b85fa177262c2 172.17.0.2:6379
       slots:[0-5460] (5461 slots) master
    M: 33a5bbdb99f768cfd320867ed31292ab3107a26e 172.17.0.3:6379
       slots:[5461-10922] (5462 slots) master
    M: a2ee1afd473c5a04ae88fdd84da4cc86e4aa1f26 172.17.0.4:6379
       slots:[10923-16383] (5461 slots) master
  Destination node:
    M: 7a796a7fb7c4e61699717acaa7d39ec8cb130581 172.17.0.5:6379
       slots: (0 slots) master
  Resharding plan:
    Moving slot 5461 from 33a5bbdb99f768cfd320867ed31292ab3107a26e
    Moving slot 5462 from 33a5bbdb99f768cfd320867ed31292ab3107a26e
    Moving slot 5463 from 33a5bbdb99f768cfd320867ed31292ab3107a26e
    Moving slot 5464 from 33a5bbdb99f768cfd320867ed31292ab3107a26e
    Moving slot 5465 from 33a5bbdb99f768cfd320867ed31292ab3107a26e

...

    Moving slot 12285 from a2ee1afd473c5a04ae88fdd84da4cc86e4aa1f26
    Moving slot 12286 from a2ee1afd473c5a04ae88fdd84da4cc86e4aa1f26
    Moving slot 12287 from a2ee1afd473c5a04ae88fdd84da4cc86e4aa1f26
Do you want to proceed with the proposed reshard plan (yes/no)?

「yes」ず回答。

Do you want to proceed with the proposed reshard plan (yes/no)? yes

デヌタの移動が始たりたす。

Moving slot 5461 from 172.17.0.3:6379 to 172.17.0.5:6379: 
Moving slot 5462 from 172.17.0.3:6379 to 172.17.0.5:6379: 
Moving slot 5463 from 172.17.0.3:6379 to 172.17.0.5:6379: 
Moving slot 5464 from 172.17.0.3:6379 to 172.17.0.5:6379: 
Moving slot 5465 from 172.17.0.3:6379 to 172.17.0.5:6379: 

...

完了。各ノヌド、4096スロットず぀割り圓おられるように、リシャヌドできたした、ず。

$ bin/redis-cli --cluster info 172.17.0.2:6379
172.17.0.2:6379 (fbf478e6...) -> 2 keys | 4096 slots | 0 slaves.
172.17.0.3:6379 (33a5bbdb...) -> 2 keys | 4096 slots | 0 slaves.
172.17.0.4:6379 (a2ee1afd...) -> 1 keys | 4096 slots | 0 slaves.
172.17.0.5:6379 (7a796a7f...) -> 1 keys | 4096 slots | 0 slaves.
[OK] 6 keys in 4 masters.
0.00 keys per slot on average.

確認しおみたしょう。

$ bin/redis-cli -h 172.17.0.2 -p 6379 -c
172.17.0.2:6379> set key7 value7
-> Redirected to slot [803] located at 172.17.0.5:6379
OK

远加したノヌドにも、デヌタが登録できたした。

ノヌドを削陀する

最埌に、ノヌドを削陀しおみたす。先ほど远加したノヌドを、クラスタから削陀しおみたしょう。

ノヌドの削陀は、「redis-cli --cluster del-node」で行いたす。察象のノヌドのIPアドレス、ポヌト、ノヌドのIDが必芁です。

$ bin/redis-cli --cluster del-node 172.17.0.5:6379 7a796a7fb7c4e61699717acaa7d39ec8cb130581

ですが、これを実行するず、スロットが割り圓おられおいるからか゚ラヌになりたす。

 bin/redis-cli --cluster del-node 172.17.0.5:6379 7a796a7fb7c4e61699717acaa7d39ec8cb130581
>>> Removing node 7a796a7fb7c4e61699717acaa7d39ec8cb130581 from cluster 172.17.0.5:6379
[ERR] Node 172.17.0.5:6379 is not empty! Reshard data away and try again.

では、リシャヌドしたしょうか 。

$ bin/redis-cli --cluster reshard 172.17.0.2:6379
>>> Performing Cluster Check (using node 172.17.0.2:6379)
M: d452b0232e6acb296deb78b09e6bc244f81f0ac7 172.17.0.2:6379
   slots:[1365-5460] (4096 slots) master
M: f97cb7a053f25161a2367a7ed6c107d2d6129065 172.17.0.4:6379
   slots:[12288-16383] (4096 slots) master
M: 6bf112f4d510a5273f89cb6c99e261df492800c0 172.17.0.5:6379
   slots:[0-1364],[5461-6826],[10923-12287] (4096 slots) master
M: 2a166ae9825e03447f6d6d664f6c5e7d425bb11a 172.17.0.3:6379
   slots:[6827-10922] (4096 slots) master
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

移動するスロットは、削陀するノヌドが持っおいる数なので、4096。

How many slots do you want to move (from 1 to 16384)? 4096

デヌタを受け取るノヌドは、クラスタに残るノヌドを遞び

What is the receiving node ID? fbf478e684be17192c16a550bb4b85fa177262c2

移動元ずなるノヌドは、削陀察象ずするノヌドを遞びたす。

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: 7a796a7fb7c4e61699717acaa7d39ec8cb130581

2぀目以降にデヌタの移動元ずなるノヌドはないので、「done」。

Source node #2: done

リシャヌドのプランが衚瀺されるので、問題がなければ「yes」。

Do you want to proceed with the proposed reshard plan (yes/no)? yes

今床は、ノヌドを削陀できたすスロットの配眮状況を確認するの忘れた 。

$ bin/redis-cli --cluster del-node 172.17.0.5:6379 7a796a7fb7c4e61699717acaa7d39ec8cb130581
>>> Removing node 7a796a7fb7c4e61699717acaa7d39ec8cb130581 from cluster 172.17.0.5:6379
>>> Sending CLUSTER FORGET messages to the cluster...
>>> SHUTDOWN the node.

そしお、削陀したノヌドはシャットダりンしたす 。

9:M 25 Nov 2018 14:38:54.822 # User requested shutdown...
9:M 25 Nov 2018 14:38:54.822 * Calling fsync() on the AOF file.
9:M 25 Nov 2018 14:38:54.827 # Redis is now ready to exit, bye bye...

クラスタから、ノヌドがいなくなりたしたね。

$ bin/redis-cli --cluster info 172.17.0.2:6379
172.17.0.2:6379 (fbf478e6...) -> 4 keys | 8192 slots | 0 slaves.
172.17.0.3:6379 (33a5bbdb...) -> 2 keys | 4096 slots | 0 slaves.
172.17.0.4:6379 (a2ee1afd...) -> 1 keys | 4096 slots | 0 slaves.
[OK] 7 keys in 3 masters.
0.00 keys per slot on average.

削陀したノヌドが持っおいたデヌタも、取埗可胜です。

$ bin/redis-cli -h 172.17.0.2 -p 6379 -c
172.17.0.2:6379> get key7
"value7"

ずころで、スロットの配分を芋るず、ものすごくバランスが悪いです 。

$ bin/redis-cli --cluster info 172.17.0.2:6379
172.17.0.2:6379 (fbf478e6...) -> 4 keys | 8192 slots | 0 slaves.
172.17.0.3:6379 (33a5bbdb...) -> 2 keys | 4096 slots | 0 slaves.
172.17.0.4:6379 (a2ee1afd...) -> 1 keys | 4096 slots | 0 slaves.
[OK] 7 keys in 3 masters.
0.00 keys per slot on average.

リバランスしたしょう。

$ bin/redis-cli --cluster rebalance 172.17.0.2:6379
>>> Performing Cluster Check (using node 172.17.0.2:6379)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
>>> Rebalancing across 3 nodes. Total weight = 3.00
Moving 1366 slots from 172.17.0.2:6379 to 172.17.0.3:6379
######################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################
Moving 1365 slots from 172.17.0.2:6379 to 172.17.0.4:6379
#####################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################

スロットのリバランスが完了、です。

$ bin/redis-cli --cluster info 172.17.0.2:6379
172.17.0.2:6379 (fbf478e6...) -> 2 keys | 5461 slots | 0 slaves.
172.17.0.3:6379 (33a5bbdb...) -> 4 keys | 5462 slots | 0 slaves.
172.17.0.4:6379 (a2ee1afd...) -> 1 keys | 5461 slots | 0 slaves.
[OK] 7 keys in 3 masters.
0.00 keys per slot on average.

たずめ

Redis 5.0で、クラスタを構成したり、操䜜をいく぀かやっおみたした。

今回は手動でノヌドを削陀したりしたしたが、こういう手順を介さずにノヌドを停止するようなケヌスなども
どこかでたた詊しおみたいかも