RabbitMQ啓動正常,但鏟子插件狀態列爲「開始」。RabbitMQ Shovel插件卡住「啓動」狀態
我使用以下rabbitmq.config:
每個代理都在單獨的AWS實例上運行。遠程服務器是Windows 2008服務器,本地服務器是Amazon Linux。
[{rabbitmq_shovel, [{shovels, [{scrape_request_shovel, [{sources, [{broker,"amqp://test_user:[email protected]"}]}, {destinations, [{broker, "amqp://test_user:[email protected]###-##-###-###.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掃描,以驗證是否已啓動並在該端口上運行。
UPDATE問題不解決,但這確實出現了與遠程服務器連接問題造成的。我在配置文件中將「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}}}]
(2.7.1)另請參閱我的答案在這裏:http://stackoverflow.com/questions/11217902/rabbitmq-shovel-wont-start/12777303#12777303 – 2012-10-08 07:48:45