Redis: CLUSTERDOWN The cluster is down
Redisクラスタが正常に動作していない状態で発生するエラーの原因と解決策
概要
Redisクラスタのノードが必要数を下回るか、スロット割り当てが不完全な場合に発生するエラーです。
エラーメッセージ
``` CLUSTERDOWN The cluster is down ```
原因
- マスターノードの障害: 過半数のマスターがダウン
- スロット未割当: 16384スロットの一部が未割当
- ネットワーク分断: ノード間の通信断絶
- cluster-require-full-coverage設定: デフォルトでスロット不完全時に停止
解決策
1. クラスタ状態を確認
```bash redis-cli -c cluster info redis-cli -c cluster nodes ```
2. 障害ノードを復旧
```bash
ノードを再起動
sudo systemctl restart redis@7000
クラスタに再参加
redis-cli -c -p 7000 cluster meet 192.168.1.1 7001 ```
3. スロットを再割当
```bash
未割当スロットを確認
redis-cli -c cluster slots
スロットを手動割当
redis-cli -c -p 7000 cluster addslots 0 1 2 3 … ```
4. 部分障害時も動作させる
```conf
redis.conf
cluster-require-full-coverage no ```
よくある間違い
- レプリカなしでマスターを運用
- 同一ホストに複数マスターを配置
- ネットワーク監視を怠る
関連エラー
関連エラー
Redis の他のエラー
この記事は役に立ちましたか?