【问题标题】:RabbitMQ Shovel plugin stuck on "starting" statusRabbitMQ Shovel 插件停留在“开始”状态
【发布时间】:2012-07-11 16:48:04
【问题描述】:

RabbitMQ 启动正常,但是铲子插件状态列为“正在启动”。

我正在使用以下 rabbitmq.config:

每个代理都在单独的 AWS 实例上运行。远程服务器是windows 2008 server,本地服务器是Amazon Linux。

[{rabbitmq_shovel,
  [{shovels,
    [{scrape_request_shovel,
      [{sources,      [{broker,"amqp://test_user:test_password@localhost"}]},
       {destinations, [{broker, "amqp://test_user:test_password@ec2-###-##-###-###.compute-1.amazonaws.com"}]},
       {queue, <<"scp_request">>},
       {ack_mode, on_confirm},
       {publish_properties, [{delivery_mode, 2}]},
       {publish_fields, [{exchange, <<"">>},
                         {routing_key, <<"scp_request">>}]},
       {reconnect_delay, 5}
       ]}
      ]
   }]
}].

运行以下命令:

sudo rabbitmqctl eval 'rabbit_shovel_status:status().'

返回:

[{scrape_request_shovel,starting,{{2012,7,11},{23,38,47}}}]

根据This question,如果没有在两个代理上正确设置用户,可能会导致这种情况。但是,我已经通过 rabbitmqctl user_add 在两台机器上仔细检查了我是否正确设置了用户——甚至还尝试过使用不同的用户集。

我还在远程主机上对端口 5672 进行了 nmap 扫描,以验证该端口是否已启动并正在运行。

更新 问题没有解决,但这似乎是远程服务器连接问题的结果。我在配置文件中将“reconnect_delay”更改为 0,以避免铲子无限重试连接。强烈建议其他有此问题的人也这样做,因为它允许您从 rabbit_shovel_status 中获取错误消息。就我而言,我收到以下错误:

[{scrape_request_shovel,
    {terminated,
        {{badmatch,{error,access_refused}},
         [{rabbit_shovel_worker,make_conn_and_chan,1},
          {rabbit_shovel_worker,handle_cast,2},
          {gen_server2,handle_msg,2},
          {proc_lib,init_p_do_apply,3}]}},
    {{2012,7,12},{0,4,37}}}]

【问题讨论】:

    标签: rabbitmq


    【解决方案1】:

    在这里回答我自己的问题,以防其他人遇到此问题。这个错误(如果你得到它也是一个超时错误,{{badmatch,{error,etimedout}}, ),几乎可以肯定是两台机器之间的通信问题,很可能是由于端口访问/防火墙设置。

    我在这里做了几件愚蠢的事情:

    1) 为我的远程 EC2 实例使用了错误的 DNS(天啊!真是愚蠢——无法告诉你我花了多长时间将头撞在墙上……)。请记住,如果您没有与实例关联的弹性 IP,停止和启动您的实例会生成一个新的 DNS。

    2) 我的远程实例是一个 windows 服务器,我意识到你必须在 windows 防火墙和 EC2 安全组中打开端口 5672both -- 这里有两个重叠的访问控制级别, 如果您的机器是 EC2 上的 windows server,则在 EC2 管理控制台中打开端口是不够的,因为您还必须配置 windows server 防火墙。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-15
    • 1970-01-01
    • 2014-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-31
    • 2013-01-24
    相关资源
    最近更新 更多