Amazon ec2 在Amazon EC2上连接rabbitmq群集时出错
我在amazon EC2上连接两个RabbitMQ节点时遇到一些困难。 这两个节点由puppet控制,下面是我的rabbit.config文件:Amazon ec2 在Amazon EC2上连接rabbitmq群集时出错,amazon-ec2,rabbitmq,Amazon Ec2,Rabbitmq,我在amazon EC2上连接两个RabbitMQ节点时遇到一些困难。 这两个节点由puppet控制,下面是我的rabbit.config文件: [ {mnesia, [{dump_log_write_threshold, 1000}]}, {rabbit, [ {tcp_listeners, [5672]}, {kernel, [{inet_dist_listen_min, 55700},{inet_dist_listen_max, 55800}
[
{mnesia, [{dump_log_write_threshold, 1000}]},
{rabbit, [
{tcp_listeners, [5672]},
{kernel, [{inet_dist_listen_min, 55700},{inet_dist_listen_max, 55800}]} ,
{cluster_nodes, ['rabbit@server1', 'rabbit@server2']}
]
}
].
我相信群集连接的权限端口已打开。我能够在5672和4399上从服务器2远程登录到服务器1
我在两台服务器上都有相同的/var/lib/rabbitmq/.erlang.cookie
当我使用netu_admin时,从erlang命令行:ping另一个节点,我得到了pang
但是,当我在任何节点上运行cluster_status时,它们看起来都不知道彼此。执行停止应用程序、重置、rabbitmqctl群集rabbit@server1我总是遇到以下错误:
错误:{没有运行\u群集\u节点的\u
有没有人解决过类似的问题,或者知道如何解决它?您是否打开了55700和55800之间的端口 尝试检查此项以了解RabbitMQ侦听的其他端口: netstat-plten | grep波束
我会再次检查cookie…谢谢您的回答,我所做的是删除此目录的内容,但.erlang.cookie(rm-R/var/lib/rabbitmq/)除外。群集连接成功。
干杯!正如Ivan所建议的,您可以先检查服务器正在侦听的端口,然后将这些TCP规则添加到服务器的安全组中。这是一个很好的第一步
netstat -plten | grep beam
返回以下内容(如果服务器仍在运行且未停止应用程序)
请注意amqp和web服务器的公共端口5672
15672
55672
,另一个端口是群集正在侦听的端口。请检查您的其他实例,确保您的范围包括这两个端口,然后重试,它将正常工作
安全组>入站>TCP规则:
30000-65535
和允许的安全组sg-XXXXXX
,并对往复安全组重复,不要忘记“应用规则”
[root@ip-172-31-27-150 ~]#rabbitmqctl停止应用程序
停止节点'rabbit@ip-172-31-27-150' ...
…完成。
[root@ip-172-31-27-150 ~]#rabbitmqctl复位
重置节点'rabbit@ip-172-31-27-150' ...
…完成。
[root@ip-172-31-27-150 ~]#rabbitmqctl加入集群rabbit@ip-172-31-28-79
群集节点'rabbit@ip-172-31-27-150“带”rabbit@ip-172-31-28-79' ...
…完成。
rabbitmqctl start\u应用程序
这在5个EC2实例上对我有效。我也有同样的问题。Rabbit需要更新那里的文档。我已经尝试了很多次,但Rabbit不想群集。而且在执行rm之前,请确保所有epmd进程都已停止。
tcp 0 0 0.0.0.0:37419 0.0.0.0:* LISTEN 498 118739 15519/beam
tcp 0 0 0.0.0.0:15672 0.0.0.0:* LISTEN 498 119032 15519/beam
tcp 0 0 0.0.0.0:55672 0.0.0.0:* LISTEN 498 119029 15519/beam
tcp 0 0 :::5672 :::* LISTEN 498 119018 15519/beam