DBAtlas · データベース運用アトラス

クラスタの健全性を確認し、スロットの不整合を修復する (--cluster check/fix)

Redisクラスタ

コマンド

redis-cli -h node1 -p 6379 CLUSTER INFO
redis-cli -h node1 -p 6379 CLUSTER NODES
redis-cli -h node1 -p 6379 CLUSTER SHARDS
# Slot coverage, open (migrating/importing) slots and node consistency:
redis-cli --cluster check node1:6379
# Repair if there are open or unowned slots:
redis-cli --cluster fix node1:6379
# Which slot and node a key lives on (-c: follow redirects):
redis-cli -h node1 -p 6379 CLUSTER KEYSLOT kullanici:1001
redis-cli -c -h node1 -p 6379 GET kullanici:1001

概要

すべてのノードが同じスロットマップを認識していること、16384 個のスロットがすべて割り当てられていること、不完全な (migrating/importing) スロットがないことを確認する。見つかった問題を修正し、キーがどのスロット / ノードにあるかを表示する。

使用する場面

cluster_state:fail が表示される場合、クライアントが CLUSTERDOWN や絶え間ない MOVED/ASK エラーを受け取る場合、および reshard が中断された後に。

注意

--cluster fix は、所有者のないスロットを任意のノードに割り当て、オープン中のスロットのキーを移動することがあるため、まず check の出力を確認する。マスターとそのすべてのレプリカが失われた場合、それらのスロットのデータは失われる。fix はそのスロットを空のまま別のノードに割り当てるだけである。cluster-require-full-coverage yes (デフォルト) では、所有者のないスロットが 1 つでもあるとクラスタ全体の書き込みが停止する。

DBAtlas で開く →

関連項目