Проверка здоровья кластера и исправление несогласованности слотов (--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 (по умолчанию) один бесхозный слот останавливает запись во всём кластере.