Skip to content

Instantly share code, notes, and snippets.

@ferreirafa
Created September 6, 2018 22:33
Show Gist options
  • Select an option

  • Save ferreirafa/9a857bbda6bee4a432a49d20170f75e8 to your computer and use it in GitHub Desktop.

Select an option

Save ferreirafa/9a857bbda6bee4a432a49d20170f75e8 to your computer and use it in GitHub Desktop.
--- Recuperação do Cluster do Rabbitmq após quebra de um nó ---
--- Recuperação do Cluster do Rabbitmq após quebra de um nó ---
1 - Acessar a interface de gerenciamento do cluster e identificar o nó que quebrou.
2 - Acessar a console de um nó que ainda esteja ativo no cluster:
2.1 - Promover o usuário a root:
sudo su
2.2 - Remover o nó com defeito do cluster:
rabbitmqctl forget_cluster_node rabbit@xxxxx
onde xxxxx representa o nome do nó defeituoso.
2.3 - Validar se o nó foi removido do cluster:
2.3.1 - Via Console:
rabbitmqctl cluster_status
2.3.2 - Via Interface de gerenciamento:
Na campo Nodes da aba Overview o nó não deverá mais existir.
3 - Acessar a console do nó defeituoso:
3.1 - Reparar a falha do nó.
3.1.1 - No caso de falha por falta de espaço em disco:
3.1.1.1 - Remover todo o conteúdo da pasta do MNESIA:
rm -rf /var/lib/rabbitmq/mnesia/
3.2 - A instância defeituosa em teoria ainda faz parte de um cluster sendo assim,
se você tentar inicializá-la, ela tentará se reconectar ao cluster mas, como
foi removida do cluster, ela não obterá sucesso e o serviço não será inicia-
zado. Diante do exposto, se faz necessário remover a configuração do cluster
nesta instância defeituosa antes de iniciar o serviço do rabbitmq-server:
rabbitmq-server -detached
3.3 - Iniciar a instância defeituosa:
systemctl start rabbitmq-server
3.3.1 - Em caso de falha na inicialização do serviço, verifique o erro no
journalctl através do seguinte comando:
journalctl -xe
3.3.1.1 - Caso a falha seja ao abrir a porta 4369 para o serviço epmd, execute:
systemctl restart epmd.service epmd.socket
systemctl stop epmd.service epmd.socket
systemctl start rabbitmq-server
3.4 - Validar se o nó inicializou em modo stand-alone. O resultado do comando Cluster
Status deve retornar apenas com os dados deste nó:
rabbitmqctl cluster_status
3.5 - Estando tudo certo, deve-se reincluir o nó ao cluster:
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@yyyyy
onde yyyyy representa o nome do nó online que ainda está no cluster.
rabbitmqctl start_app
3.6 - Validar se o nó foi reinserido no cluster:
3.6.1 - Via Console:
rabbitmqctl cluster_status
3.6.2 - Via Interface de gerenciamento:
Na campo Nodes da aba Overview, deve-se ter visão de todos os nós configurados
no cluster. Importante salientar que neste momento devemos ter visão tanto dos
nós ativos quanto dos nós inativos.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment