Nesta etapa, você aprenderá como realocar slots em um cluster Redis usando o comando redis-cli --cluster reshard. Isso é importante para distribuir dados de forma uniforme, especialmente após adicionar novos nós.
Um cluster Redis divide o espaço de chaves em 16384 slots. Cada nó mestre é responsável por um subconjunto desses slots. Quando você adiciona um novo nó, ele inicialmente não possui nenhum slot. A realocação move slots de nós existentes para o novo nó, balanceando os dados e a carga de trabalho.
-
Conectar ao Cluster usando redis-cli --cluster:
Para realizar a operação de realocação, você usará o comando redis-cli --cluster reshard. Este comando fornece uma maneira interativa de redistribuir slots em todo o cluster.
Abra seu terminal e execute o seguinte comando:
redis-cli --cluster reshard 127.0.0.1:7000
Este comando conecta-se ao cluster Redis através do nó em 127.0.0.1:7000 e inicia o processo de realocação.
-
Especificar o Número de Slots a Serem Movidos:
A ferramenta redis-cli solicitará que você insira o número de slots que deseja mover. Para este exemplo, vamos mover 101 slots para o novo nó.
How many slots do you want to move? (default: all)
Insira 101 e pressione Enter.
-
Inserir o ID do Nó de Destino:
Em seguida, a ferramenta pedirá que você insira o ID do nó de destino, que é o novo nó que você adicionou na etapa anterior (porta 7006). Para encontrar o ID do nó, você pode usar o comando CLUSTER NODES conforme mostrado nas etapas anteriores, ou pode usar o seguinte comando para obter o ID do nó diretamente:
redis-cli -h 127.0.0.1 -p 7006 cluster nodes | grep myself | awk '{print $1}'
Copie o ID do nó da saída. A ferramenta redis-cli solicitará:
What is the receiving node ID?
Cole o ID do nó e pressione Enter.
-
Especificar os Nós de Origem:
A ferramenta pedirá que você especifique os nós de origem dos quais retirar os slots. Você pode inserir all para redistribuir slots de todos os nós mestres existentes.
Please enter all the source node IDs.
Type 'all' to use all the nodes as source nodes for the hash slots.
Type 'done' to stop entering IDs.
Insira all e pressione Enter.
-
Confirmar o Plano de Realocação:
A ferramenta redis-cli exibirá o plano de realocação e pedirá que você confirme.
Do you want to proceed with the reshard plan? (type 'yes' to accept):
Digite yes e pressione Enter para iniciar o processo de realocação.
-
Aguardar a Conclusão da Realocação:
A ferramenta redis-cli agora moverá os slots dos nós de origem para o nó de destino. Este processo pode levar algum tempo, dependendo da quantidade de dados no cluster. Você verá mensagens de progresso à medida que os slots forem movidos.
-
Sair do redis-cli:
Assim que a realocação for concluída, saia da sessão redis-cli.
exit