Redis
 sql >> Database >  >> NoSQL >> Redis

Come ripristinare gli slot hash di un particolare nodo nel cluster redis in caso di errore grave?

Risolve il cluster aggiungendo tutti gli slot serviti dal nodo guasto ad alcuni nodi collegabili. L'approccio consiste nell'usare il cluster addslots comando, ma ovviamente è in qualche modo difficile farlo manualmente, quindi suggerisco questo strumento sviluppato dal nostro team.

Utilizzo (in shell):

# it requires Python2.7; install it via pip
pip install redis-trib

# suppose one of the accessible nodes is serving at 172.0.0.1:7000
# start a cluster-mode Redis that is not involved in any cluster
# suppose its address is 172.0.0.5:8000
redis-trib.py rescue --existing-addr 172.0.0.1:7000 --new-addr 172.0.0.5:8000

Dopodiché, il nuovo nodo servirà tutti gli slot non riusciti in modo che lo stato del cluster diventi ok.