首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用rabbitmqctl连接到码头容器中的rabbitmqserver?

如何使用rabbitmqctl连接到码头容器中的rabbitmqserver?
EN

Stack Overflow用户
提问于 2013-12-03 07:55:19
回答 5查看 19.5K关注 0票数 16

我用码头启动了我的狂犬病服务器。如何使用rabbitmqctl连接到对接器容器中的rabbitmqserver?

端口5672已经暴露,并映射到我的主机的5672端口。但我仍然得到以下错误:

代码语言:javascript
复制
Status of node rabbit@m2 ...
Error: unable to connect to node rabbit@m2: nodedown
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-12-04 09:36:05

rabbitmqctl使用Erlang Distributed Protocol (EDP)与RabbitMQ通信。端口5672提供AMQP协议。您可以研究RabbitMQ实例使用的EDP端口:

代码语言:javascript
复制
$ netstat -uptan | grep beam
tcp        0      0 0.0.0.0:55950           0.0.0.0:*               LISTEN      31446/beam.smp  
tcp        0      0 0.0.0.0:15672           0.0.0.0:*               LISTEN      31446/beam.smp  
tcp        0      0 0.0.0.0:55672           0.0.0.0:*               LISTEN      31446/beam.smp  
tcp        0      0 127.0.0.1:55096         127.0.0.1:4369          ESTABLISHED 31446/beam.smp  
tcp6       0      0 :::5672                 :::*                    LISTEN      31446/beam.smp  

这意味着RabbitMQ:

  • 连接到127.0.0.1:4369上的EPMD (Erlang Port Mapper Daemon),使节点能够相互看见
  • 在端口55950上等待传入的EDP连接
  • 在端口5672和55672上等待AMQP连接
  • 在端口15672上等待传入的HTTP management连接

要使rabbitmqctl能够连接到RabbitMQ,还必须转发端口55950,并允许RabbitMQ实例连接到127.0.0.1:4369。RabbitMQ EDP端口可能是二值化的,因此要使其静态,可以尝试使用Erlang environment variablesERL_EPMD_PORT变量或使用inet_dist_listen_minErlang Kernel configuration optionsinet_dist_listen_max,并将其应用于RabbitMQ environment variable - export RABBITMQ_CONFIG_FILE="/path/to/my_rabbitmq.conf

my_rabbitmq.conf

代码语言:javascript
复制
[{kernel,[{inet_dist_listen_min, 55950},{inet_dist_listen_min, 55950}]}].

或者你可以使用RabbitMQ Management Plugin。它具有更多的功能和简单的设置。

票数 7
EN

Stack Overflow用户

发布于 2014-11-26 23:48:30

假设您的容器名为rabbitmq并正在运行:

代码语言:javascript
复制
docker exec rabbitmq rabbitmqctl start_app
票数 9
EN

Stack Overflow用户

发布于 2014-09-02 03:49:38

--我试图在ubuntu和fedora机器上的集群上安装RabbitMQ时出错了:

代码语言:javascript
复制
el@apollo:/etc/rabbitmq$ sudo rabbitmqctl join_cluster rabbit@192.168.1.8
Clustering node rabbit@apollo with 'rabbit@192.168.1.8' ...
Error: unable to connect to nodes ['rabbit@192.168.1.8']: nodedown

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

attempted to contact: ['rabbit@192.168.1.8']

rabbit@192.168.1.8:
  * unable to connect to epmd (port 4369) on 192.168.1.8: address 
    (cannot connect to host/port)


current node details:
- node name: rabbitmqctl7233@apollo
- home dir: /var/lib/rabbitmq
- cookie hash: g0tS9zEdo7OEDSZaDTGirA==

I通过打开192.168.1.8机器上的4369和59984端口(集群的从节点之一:)来消除此错误。

代码语言:javascript
复制
el@defiant ~ $ su -
Password:
[root@defiant ~]# iptables -I INPUT -p tcp --dport 4369 --syn -j ACCEPT
[root@defiant ~]# iptables -I INPUT -p tcp --dport 59984 --syn -j ACCEPT
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20345658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档