как переустановить мертвый узел в кластере rabbitmq

У меня есть кластер rabbitmq на Rabbit1, Rabbit2 и Rabbit3. Rabbit2 и Rabbit3 присоединяются к кластеру rabbit1 в качестве узла оперативной памяти. И Rabbit3 разбился. В Rabbit1 и Rabbit2 при проверке состояния кластера я получил следующий ответ.

ubuntu@rabbit2:~$ sudo rabbitmqctl cluster_status
Cluster status of node rabbit@rabbit2
[{nodes,[{disc,[rabbit@rabbit1]},{ram,[rabbit@rabbit3,rabbit@rabbit2]}]},
 {running_nodes,[rabbit@rabbit1,rabbit@rabbit2]},
 {cluster_name,<<"rabbit@localhost">>},
 {partitions,[]},
 {alarms,[{rabbit@rabbit1,[]},{rabbit@rabbit2,[]}]}]

Теперь я удаляю rabbitmq3 и устанавливаю снова. Успешно установите rabbitmq на rabbit3.

sudo service rabbitmq-server stop
sudo rm -rf /var/lib/rabbitmq/
sudo apt-get remove rabbitmq-server -y
sudo apt-get autoremove -y 
sudo apt-get install rabbitmq-server -y

После установки я снова пытаюсь добавить rabbit3 в кластер. Первый шаг, я проверяю состояние кластера на rabbit3.

ubuntu@rabbit3:~$ sudo rabbitmqctl cluster_status
Cluster status of node rabbit@rabbit3
[{nodes,[{disc,[rabbit@rabbit3]}]},
 {running_nodes,[rabbit@rabbit3]},
 {cluster_name,<<"rabbit@localhost">>},
 {partitions,[]},
 {alarms,[{rabbit@rabbit3,[]}]}]

Затем я переопределяю файл cookie

ubuntu@rabbit3:~$ sudo sh -c "echo abcdefg > /var/lib/rabbitmq/.erlang.cookie"
ubuntu@rabbit3:~$ sudo cat  /var/lib/rabbitmq/.erlang.cookie
abcdefg

Проверьте кластер еще раз.

ubuntu@rabbit3:~$ sudo rabbitmqctl cluster_status
Cluster status of node rabbit@rabbit3
Error: unable to connect to node rabbit@rabbit3: nodedown

DIAGNOSTICS
===========

attempted to contact: [rabbit@rabbit3]

rabbit@rabbit3:
  * connected to epmd (port 4369) on rabbit3
  * epmd reports node 'rabbit' running on port 25672
  * TCP connection succeeded but Erlang distribution failed
  * suggestion: hostname mismatch?
  * suggestion: is the cookie set correctly?
  * suggestion: is the Erlang distribution using TLS?

current node details:
- node name: 'rabbitmq-cli-25@localhost'
- home dir: /var/lib/rabbitmq
- cookie hash: esZsDxSN6VGbi9JkMSxNZA==

Узел rabbit@rabbit3 не может быть подключен и больше не может его настраивать. Я проверил документ по установке rabbitmq. В нем рассказывается, как настроить кластер со счастливым путем. Но если узел умер, как переустановить его обратно.


person richard    schedule 03.01.2018    source источник


Ответы (1)


Я сделал ошибку при установке, в общем, я должен остановить rabbitmq перед установкой cookie, например

 sudo rabbitmqctl stop
sudo sh -c "echo abcd123456 > /var/lib/rabbitmq/.erlang.cookie"
sudo cat  /var/lib/rabbitmq/.erlang.cookie
sudo chmod 400 /var/lib/rabbitmq/.erlang.cookie 
sudo sh -c "echo abcd123456 > ~/.erlang.cookie"
sudo chmod 400 ~/.erlang.cookie 
person richard    schedule 22.01.2018