2015-02-03 4 views
3

У меня есть конфигурация подчиненного подчиненного RabbitMQ. Как два контейнера Docker, с динамическим внутренним IP (измененный при каждом перезапуске).Автоматическое повторное подключение к клану RabbitMQ после перезапуска сервера

кластеризация отлично работает на чистой перспективе, но если один из серверов был перезапущен он не может подключиться к кластеру:

rabbitmqctl join_cluster --ram [email protected] 
Clustering node '[email protected]' with '[email protected]' ... 
Error: {ok,already_member} 

И следующее:

rabbitmqctl cluster_status 
Cluster status of node '[email protected]' ... 
[{nodes,[{disc,['[email protected]']}]}] 

говорит, что узел не в кластере.

Только так я нашел его удалить этот узел, и только затем попытаться воссоединиться кластер, как:

rabbitmqctl -n [email protected] forget_cluster_node [email protected] 
rabbitmqctl join_cluster --ram [email protected] 

Это работает, но не выглядит хорошо для меня. Я считаю, что должен быть лучший способ воссоединиться с кластером, чем забыть и присоединиться снова. Я вижу, что есть и команда update_cluster_nodes, но кажется, что это что-то другое, не уверен, что это может помочь.

Каков правильный способ воссоединения кластера при перезагрузке контейнера?

ответ

2

Я понимаю, что это было открыто в течение года, но я, хотя я бы ответил на всякий случай, это могло бы помочь кому-то.

Я считаю, что этот вопрос был разрешен в недавнем выпуске RabbitMQ.

Я применил Dockerized RabbitMQ Cluster, используя Rabbit management 3.6.5 image, и мои узлы могут автоматически присоединяться к кластеру на контейнере или перезагрузке хоста докеров.

Смежные вопросы