DBAtlas · 데이터베이스 운영 아틀라스

클러스터 상태 점검 및 slot 불일치 복구 (--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

하는 일

모든 노드가 같은 slot map을 보는지, 16384개 slot이 모두 할당되었는지, 미완료(migrating/importing) slot이 없는지 점검한다. 발견된 문제를 수정하고 key가 어느 slot/노드에 있는지 보여 준다.

사용 시점

cluster_state:fail이 나타날 때, 클라이언트가 CLUSTERDOWN이나 끊임없는 MOVED/ASK 오류를 받을 때, 그리고 reshard가 중단된 후.

주의

--cluster fix는 소유자 없는 slot을 임의의 노드에 할당하고 열린 slot의 key를 이동할 수 있으므로 먼저 check 출력을 검토한다. master와 모든 replica를 잃으면 해당 slot의 데이터는 사라지며, fix는 slot을 빈 상태로 다른 노드에 할당할 뿐이다. cluster-require-full-coverage yes(기본값)에서는 소유자 없는 slot 하나만 있어도 클러스터 전체의 쓰기가 중지된다.

DBAtlas에서 열기 →

관련 항목