Erlang RabbitMQ节点上的奇数行为
在我设置的RabbitMQ 3.6.5集群中,我遇到了一些奇怪的行为 我有4个节点,每个节点都经历了多个网络分区。通过阅读文档,我可以看到,每当两个节点之间的连接丢失时,就会触发网络分区,而这两个节点都保持运行。我想这是因为机器每30分钟就要睡觉一次。我还没有测试过 我当前的问题是一些节点拒绝停止Erlang RabbitMQ节点上的奇数行为,erlang,rabbitmq,Erlang,Rabbitmq,在我设置的RabbitMQ 3.6.5集群中,我遇到了一些奇怪的行为 我有4个节点,每个节点都经历了多个网络分区。通过阅读文档,我可以看到,每当两个节点之间的连接丢失时,就会触发网络分区,而这两个节点都保持运行。我想这是因为机器每30分钟就要睡觉一次。我还没有测试过 我当前的问题是一些节点拒绝停止 在rabbitmqctl stop和rabbitmqctl reset上,cmd冻结/挂起一段不确定的时间,直到我取消批处理命令 在rabbitmqctl start\u app上,我得到了erla
- 在
和rabbitmqctl stop
上,cmd冻结/挂起一段不确定的时间,直到我取消批处理命令rabbitmqctl reset
- 在
上,我得到了erlang错误rabbitmqctl start\u app
。我还没有弄明白这意味着什么错误:stop
- 在
上,我得到了erlang错误rabbitmq plugin enable rabbitmq_management
,这似乎是因为我无法停止节点,但没有实际的进程在运行error:noproc
rabbitmqctl status
时,我得到以下输出:
C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.5\sbin>rabbitmqctl status
Status of node 'rabbit@nc-mso-test04' ...
[{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集群\u状态时
C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.5\sbin>rabbitmqctl cluster_status
Cluster status of node 'rabbit@nc-mso-test04' ...
[{nodes,[{disc,['rabbit@iol-laptop','rabbit@nc-mso-test01',
'rabbit@nc-mso-test02','rabbit@nc-mso-test03',
'rabbit@nc-mso-test04']}]},
{running_nodes,['rabbit@nc-mso-test01','rabbit@nc-mso-test04']},
{cluster_name,<<"rabbit@nc-mso-test04.novicell.dk">>},
{partitions,[]},
{alarms,[{'rabbit@nc-mso-test01',[]},{'rabbit@nc-mso-test04',[]}]}]
C:\Program Files\RabbitMQ服务器\RabbitMQ\u服务器-3.6.5\sbin>rabbitmqctl集群\u状态
节点的群集状态rabbit@nc-mso-test04'。。。
[{节点,[{磁盘,['rabbit@iol-笔记本电脑rabbit@nc-mso-test01’,
'rabbit@nc-mso-test02','rabbit@nc-mso-test03',
'rabbit@nc-mso-test04']}]},
{正在运行_节点,['rabbit@nc-mso-test01','rabbit@nc-mso-test04']},
{群集名称,},
{分区,[]},
{警报,[{'rabbit@nc-mso-test01',[]},{'rabbit@nc-mso-test04',[]}]}]
我试图强制停止这个过程,删除了Mnesia数据库,但没有任何帮助
有什么建议吗?在使用rabbitmq集群之后,我遇到了同样的情况,以下步骤对我有所帮助:
- 停止rabbitmq服务
- 从文件系统中(在Windows上的当前用户文件夹中)物理删除卡住节点的文件- %HOMEDRIVE%\%HOMEPATH%\AppData\Roaming\RabbitMQ)
- 运行rabbitmq服务
- 安装必要的插件并重新配置节点(用户、虚拟主机等)
- 运行rabbitmqctl启动应用程序