2014-03-26 31 views
0

我在保持RabbitMQ啓動方面遇到了一些麻煩。RabbitMQ服務器啓動後不久關機

我通過提供的/etc/init.d/rabbitmq-server start開始它,它啓動正常。 status表明它很好。

但過了一段時間,服務器死亡。 status打印

Error: unable to connect to node '[email protected]': nodedown 

檢查日誌文件,似乎我已達到內存閾值。下面是日誌:

# start 
=INFO REPORT==== 26-Mar-2014::03:24:13 === 
Limiting to approx 924 file handles (829 sockets) 

=INFO REPORT==== 26-Mar-2014::03:24:13 === 
Memory limit set to 723MB of 1807MB total. 

=INFO REPORT==== 26-Mar-2014::03:24:13 === 
Disk free limit set to 953MB 

=INFO REPORT==== 26-Mar-2014::03:24:13 === 
Management plugin upgraded statistics to fine. 

=INFO REPORT==== 26-Mar-2014::03:24:13 === 
msg_store_transient: using rabbit_msg_store_ets_index to provide index 

=INFO REPORT==== 26-Mar-2014::03:24:13 === 
msg_store_persistent: using rabbit_msg_store_ets_index to provide index 

=WARNING REPORT==== 26-Mar-2014::03:24:13 === 
msg_store_persistent: rebuilding indices from scratch 

=INFO REPORT==== 26-Mar-2014::03:24:27 === 
started TCP Listener on [::]:5672 

=INFO REPORT==== 26-Mar-2014::03:24:27 === 
Management agent started. 

=INFO REPORT==== 26-Mar-2014::03:24:27 === 
Management plugin started. Port: 55672, path:/

=INFO REPORT==== 26-Mar-2014::03:24:39 === 
accepting AMQP connection <0.1999.0> (127.0.0.1:34788 -> 127.0.0.1:5672) 

=WARNING REPORT==== 26-Mar-2014::03:24:40 === 
closing AMQP connection <0.1999.0> (127.0.0.1:34788 -> 127.0.0.1:5672): 
connection_closed_abruptly 

=INFO REPORT==== 26-Mar-2014::03:24:42 === 
accepting AMQP connection <0.2035.0> (127.0.0.1:34791 -> 127.0.0.1:5672) 

=INFO REPORT==== 26-Mar-2014::03:24:46 === 
accepting AMQP connection <0.2072.0> (127.0.0.1:34792 -> 127.0.0.1:5672) 

=INFO REPORT==== 26-Mar-2014::03:25:19 === 
vm_memory_high_watermark set. Memory used:768651448 allowed:758279372 

=INFO REPORT==== 26-Mar-2014::03:25:19 === 
    alarm_handler: {set,{{resource_limit,memory,'[email protected]'}, 
         []}} 

=INFO REPORT==== 26-Mar-2014::03:25:48 === 
Statistics database started. 
    # server dies here 

我似乎已經達到了內存閾值,但讀docs,它不應該關閉服務器?阻止發佈,直到一些內存被釋放?

是的,我知道我的芹菜工作人員內存使用的原因,我只是認爲RabbitMQ將正確處理它,這似乎暗示了文檔。所以我做錯了什麼?

編輯:重構我的任務,所以它的消息只是一個字符串(最多15個字符)。似乎沒有任何區別。

我試着開始RabbitMQ和celery worker --purge,沒有事件觸發任務,但看起來RabbitMQ的內存使用率仍穩步攀升至40%。然後它不久之後崩潰。它崩潰了,我的任務都沒有機會運行。

+0

我不確定你在使用什麼發行版,但我會建議將RMQ作爲服務啓動。例如sudo服務rabbitmq-server啓動。還有/ var/log/rabbitmq中有RMQ錯誤日誌,我想你可能會在那裏找到更多的信息。 – robthewolf

+0

從Ubuntu的repositoriy發現了RabbitMQ *真*舊。我從RabbitMQ的回購安裝,現在很好。 – john2x

+0

是的,您需要閱讀有關如何安裝最新版本的RMQs文檔 – robthewolf

回答

0

將RabbitMQ更新爲官方穩定版本修復了此問題。 Ubuntu 12.04存儲庫中的RabbitMQ包是,確實是舊的。