2016-11-30 41 views
1

我在設置的RabbitMQ 3.6.5羣集中遇到了一些奇怪的行爲。RabbitMQ節點上的奇怪行爲

我有4個節點,每個節點都經歷了多個網絡分區。通過閱讀文檔,我可以看到,只要兩個節點之間的連接丟失,就會觸發網絡分區,而這兩個節點都保持運行。我想這是因爲機器每隔30分鐘想睡覺一次。我還沒有得到測試。

我目前的問題是有些節點拒絕停止。的時間不定量

  • rabbitmqctl stoprabbitmqctl reset和在CMD凍結/掛起,直到我取消批處理命令。
  • on rabbitmqctl start_app我收到erlang錯誤error:stop。我還沒有弄清楚這意味着什麼。
  • rabbitmq-plugin enable rabbitmq_management我得到erlang錯誤error:noproc這似乎來自這樣的事實,雖然我不能停止節點,但沒有實際的進程運行。

當我運行rabbitmqctl status我得到以下的輸出:

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.5\sbin>rabbitmqctl status 
Status of node '[email protected]' ... 
[{pid,8416}, 
{running_applications,[{compiler,"ERTS CXC 138 10","7.0.2"}, 
         {os_mon,"CPO CXC 138 46","2.4.1"}, 
         {amqp_client,"RabbitMQ AMQP Client","3.6.5"}, 
         {inets,"INETS CXC 138 49","6.3.3"}, 
         {syntax_tools,"Syntax tools","2.1"}, 
         {asn1,"The Erlang ASN1 compiler version 4.0.4", 
           "4.0.4"}, 
         {rabbit_common,[],"3.6.5"}, 
         {mnesia,"MNESIA CXC 138 12","4.14.1"}, 
         {xmerl,"XML parser","1.3.12"}, 
         {ranch,"Socket acceptor pool for TCP protocols.", 
           "1.2.1"}, 
         {sasl,"SASL CXC 138 11","3.0.1"}, 
         {stdlib,"ERTS CXC 138 10","3.1"}, 
         {kernel,"ERTS CXC 138 10","5.1"}]}, 
{os,{win32,nt}}, 
{erlang_version,"Erlang/OTP 19 [erts-8.1] [64-bit] [smp:4:4] [async-threads:64]\n"}, 
{memory,[{total,63018240}, 
      {connection_readers,0}, 
      {connection_writers,0}, 
      {connection_channels,0}, 
      {connection_other,2736}, 
      {queue_procs,0}, 
      {queue_slave_procs,0}, 
      {plugins,0}, 
      {other_proc,25970040}, 
      {mnesia,72168}, 
      {mgmt_db,0}, 
      {msg_index,0}, 
      {other_ets,1522608}, 
      {binary,92080}, 
      {code,24836283}, 
      {atom,1033401}, 
      {other_system,9488924}]}, 
{alarms,[]}, 
{listeners,[]}, 
{vm_memory_high_watermark,0.4}, 
{vm_memory_limit,3401855795}, 
{disk_free_limit,50000000}, 
{disk_free,281661607936}, 
{file_descriptors,[{total_limit,8092}, 
        {total_used,0}, 
        {sockets_limit,7280}, 
        {sockets_used,0}]}, 
{processes,[{limit,1048576},{used,107}]}, 
{run_queue,0}, 
{uptime,771157}, 
{kernel,{net_ticktime,60}}] 

當我做rabbitmqctl cluster_status我得到:

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.5\sbin>rabbitmqctl cluster_status 
Cluster status of node '[email protected]' ... 
[{nodes,[{disc,['[email protected]','[email protected]', 
       '[email protected]','[email protected]', 
       '[email protected]']}]}, 
{running_nodes,['[email protected]','[email protected]']}, 
{cluster_name,<<"[email protected]">>}, 
{partitions,[]}, 
{alarms,[{'[email protected]',[]},{'[email protected]',[]}]}] 

我試圖強行停止的過程中,刪除Mnesia數據庫但它沒有幫助。

有什麼建議嗎?

回答

0

我有同樣的情況與RabbitMQ的集羣玩弄後並進行如下操作幫我:

  • 停止的RabbitMQ服務
  • 從文件系統中物理去除附着節點的文件(在當前的在Windows用戶文件夾 - %HOMEDRIVE%\%HOMEPATH%\ AppData的\漫遊\的RabbitMQ)
  • 運行的RabbitMQ服務
  • 安裝必要的插件和重新配置節點(用戶,虛擬主機等)
  • run rabbitmqctl start_app