i在不同的服务器中使用Docker有两个RabbitMQ节点:
rabbitmq-1.myhost.com(师父) rabbitmq-2.myhost.com(奴隶)我尝试加入从属来掌握以下创建两个节点群集的掌握:
root@rabbitmq-2:/# rabbitmqctl stop_app
Stopping rabbit application on node rabbit@rabbitmq-2 ...
root@rabbitmq-2:/# rabbitmqctl join_cluster [email protected]
但我得到:
root@rabbitmq-2:/# rabbitmqctl join_cluster rabbitmq-1.myhost.com
Clustering node rabbit@rabbitmq-2 with rabbitmq-1.myhost.com
Error:
{:badarg, [{:rpc, :rpcify_exception, 2, [file: 'rpc.erl', line: 467]}, {:rpc, :call, 5, [file: 'rpc.erl', line: 410]}, {:lists, :foldl, 3, [file: 'lists.erl', line: 1263]}, {:rabbit_mnesia, :discover_cluster, 1, [file: 'src/rabbit_mnesia.erl', line: 804]}, {:rabbit_mnesia, :join_cluster, 2, [file: 'src/rabbit_mnesia.erl', line: 236]}]}
Edit:我在添加上一行之前复制我的 /ett /主机:
root@rabbitmq-2:/# cat /etc/hosts
127.0.0.1localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
XX.XX.XX.XX rabbitmq-1.myhost.com rabbitmq-1
YY.YY.YY.YY rabbitmq-2.myhost.com rabbitmq-2
但是,当我启动Docker容器时,我会得到这个:
Attaching to rabbitmq-2
rabbitmq-2 | 11:02:14.540 [error]
rabbitmq-2 |
rabbitmq-2 | BOOT FAILED
rabbitmq-2 | ===========
rabbitmq-2 | 11:02:14.542 [error] BOOT FAILED
rabbitmq-2 | 11:02:14.543 [error] ===========
rabbitmq-2 | 11:02:14.543 [error] ERROR: epmd error for host rabbitmq-2: address (cannot connect to host/port)
rabbitmq-2 | ERROR: epmd error for host rabbitmq-2: address (cannot connect to host/port)
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@rabbitmq-1
rabbitmqctl start_app
rabbitmqctl cluster_status
rabbitmqctl status | grep name
我希望在这里看到一个简短的名称,没有域名,例如'Rabbit@Rabbitmq-1'
尝试在加入命令中使用它:
rabbitmqctl join_cluster rabbit@rabbitmq-1
或命名节点,请随心所欲:
vi /etc/rabbitmq/rabbitmq-env.conf
dedit行NODENAME=rabbit@rabbitmq-1
至
[email protected]
并重新启动:
sudo systemctl restart rabbitmq-server
现在您可以尝试与完整的FQDN一起加入