如何在Windows上配置RabbitMQ群集
求你了,我需要你的帮助。 从上周开始,我一直在努力在windows服务器上配置RabbitMQ集群。我重新安装RabbitMQ 3.7.8和ErlangOTP 21-1超过15次,试图找出问题并解决它,但不幸的是,我所有的尝试都失败了 我的环境: 三台具有操作系统的虚拟机:windows server 2012 环境变量设置:如何在Windows上配置RabbitMQ群集,rabbitmq,Rabbitmq,求你了,我需要你的帮助。 从上周开始,我一直在努力在windows服务器上配置RabbitMQ集群。我重新安装RabbitMQ 3.7.8和ErlangOTP 21-1超过15次,试图找出问题并解决它,但不幸的是,我所有的尝试都失败了 我的环境: 三台具有操作系统的虚拟机:windows server 2012 环境变量设置: • ERLANG_HOME = C:\Program Files\erl10.1 • path: C:\Program Files\Handle • %RAB
• ERLANG_HOME = C:\Program Files\erl10.1
• path: C:\Program Files\Handle
• %RABBITMQ_BASE% = c:\RabbitMQ
• %RABBITMQ_CONFIG_FILE% = %RABBITMQ_BASE%
• RABBITMQ_NODENAME = masternode
• Server names: RabbitMQ01 “masternode” , RabbitMQ02, RabbitMQ03
• Adding IP & hots name “masternode” in the host file for name resolution (C:\Windows\System32\drivers\etc\hosts)
• Setting RabbitMQ configuration file “advanced.config” in c:\users\USERNAME\AppData\Roaming\RabbitMQ” to enable users to login to RabbitMQ management remotely by adding the following setting
[
{rabbit,
[
{tcp_listeners, [5672]},
{loopback_users, []},
{num_tcp_acceptors, 100}
]
}
].
C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.8\sbin>rabbitmqctl status
Status of node masternode@rhrabbitmq01 ...
[{pid,4008},
{running_applications,
[{rabbitmq_management,"RabbitMQ Management Console","3.7.8"},
{rabbitmq_management_agent,"RabbitMQ Management Agent","3.7.8"},
{rabbitmq_web_dispatch,"RabbitMQ Web Dispatcher","3.7.8"},
{rabbit,"RabbitMQ","3.7.8"},
{amqp_client,"RabbitMQ AMQP Client","3.7.8"},
{rabbit_common,
"Modules shared by rabbitmq-server and rabbitmq-erlang-client",
"3.7.8"},
{os_mon,"CPO CXC 138 46","2.4.6"},
{cowboy,"Small, fast, modern HTTP server.","2.2.2"},
{mnesia,"MNESIA CXC 138 12","4.15.5"},
{cowlib,"Support library for manipulating Web protocols.","2.1.0"},
{lager,"Erlang logging framework","3.6.3"},
{syslog,"An RFC 3164 and RFC 5424 compliant logging framework.","3.4.3"},
{ranch_proxy_protocol,"Ranch Proxy Protocol Transport","1.5.0"},
{jsx,"a streaming, evented json parsing toolkit","2.8.2"},
{ranch,"Socket acceptor pool for TCP protocols.","1.5.0"},
{ssl,"Erlang/OTP SSL application","9.0.2"},
{public_key,"Public key infrastructure","1.6.2"},
{asn1,"The Erlang ASN1 compiler version 5.0.7","5.0.7"},
{inets,"INETS CXC 138 49","7.0.2"},
{xmerl,"XML parser","1.3.18"},
{recon,"Diagnostic tools for production use","2.3.2"},
{crypto,"CRYPTO","4.3.3"},
{goldrush,"Erlang event stream processor","0.1.9"},
{compiler,"ERTS CXC 138 10","7.2.5"},
{syntax_tools,"Syntax tools","2.1.6"},
{sasl,"SASL CXC 138 11","3.2.1"},
{stdlib,"ERTS CXC 138 10","3.6"},
{kernel,"ERTS CXC 138 10","6.1"}]},
{os,{win32,nt}},
{erlang_version,
"Erlang/OTP 21 [erts-10.1] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:64
]\n"},
{memory,
[{connection_readers,0},
{connection_writers,0},
{connection_channels,0},
{connection_other,29212},
{queue_procs,0},
{queue_slave_procs,0},
{plugins,1192744},
{other_proc,26188552},
{metrics,195524},
{mgmt_db,337648},
{mnesia,75088},
{other_ets,2748464},
{binary,181696},
{msg_index,27840},
{code,27573597},
{atom,1131721},
{other_system,9846202},
{allocated_unused,9377056},
{reserved_unallocated,0},
{strategy,rss},
{total,[{erlang,69528288},{rss,78905344},{allocated,78905344}]}]},
{alarms,[]},
{listeners,
[{clustering,25672,"::"},
{amqp,5672,"::"},
{amqp,5672,"0.0.0.0"},
{http,15672,"::"},
{http,15672,"0.0.0.0"}]},
{vm_memory_calculation_strategy,rss},
{vm_memory_high_watermark,0.4},
{vm_memory_limit,3435785420},
{disk_free_limit,50000000},
{disk_free,86038073344},
{file_descriptors,
[{total_limit,8092},
{total_used,2},
{sockets_limit,7280},
{sockets_used,0}]},
{processes,[{limit,1048576},{used,399}]},
{run_queue,1},
{uptime,6087},
{kernel,{net_ticktime,60}}]
安装步骤:(针对每台服务器)
完成上述服务器的安装后,我开始配置集群
rabbitmqctl加入集群rabbit@masternode
(小盒子)- 无法访问目标节点(例如,由于主机名解析、TCP连接或 (防火墙问题)
- CLI工具无法与服务器进行身份验证(例如,由于CLI工具的Erlang cookie与服务器的cookie不匹配)
- 目标节点未运行
- 请参阅上的CLI、群集和网络指南 html以了解更多信息
- 查阅节点上的服务器日志rabbit@rhrabbitmq02
- 身份验证失败(被远程节点拒绝),请检查Erlang 饼干
• ERLANG_HOME = C:\Program Files\erl10.1
• path: C:\Program Files\Handle
• %RABBITMQ_BASE% = c:\RabbitMQ
• %RABBITMQ_CONFIG_FILE% = %RABBITMQ_BASE%
• RABBITMQ_NODENAME = masternode
• Server names: RabbitMQ01 “masternode” , RabbitMQ02, RabbitMQ03
• Adding IP & hots name “masternode” in the host file for name resolution (C:\Windows\System32\drivers\etc\hosts)
• Setting RabbitMQ configuration file “advanced.config” in c:\users\USERNAME\AppData\Roaming\RabbitMQ” to enable users to login to RabbitMQ management remotely by adding the following setting
[
{rabbit,
[
{tcp_listeners, [5672]},
{loopback_users, []},
{num_tcp_acceptors, 100}
]
}
].
C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.8\sbin>rabbitmqctl status
Status of node masternode@rhrabbitmq01 ...
[{pid,4008},
{running_applications,
[{rabbitmq_management,"RabbitMQ Management Console","3.7.8"},
{rabbitmq_management_agent,"RabbitMQ Management Agent","3.7.8"},
{rabbitmq_web_dispatch,"RabbitMQ Web Dispatcher","3.7.8"},
{rabbit,"RabbitMQ","3.7.8"},
{amqp_client,"RabbitMQ AMQP Client","3.7.8"},
{rabbit_common,
"Modules shared by rabbitmq-server and rabbitmq-erlang-client",
"3.7.8"},
{os_mon,"CPO CXC 138 46","2.4.6"},
{cowboy,"Small, fast, modern HTTP server.","2.2.2"},
{mnesia,"MNESIA CXC 138 12","4.15.5"},
{cowlib,"Support library for manipulating Web protocols.","2.1.0"},
{lager,"Erlang logging framework","3.6.3"},
{syslog,"An RFC 3164 and RFC 5424 compliant logging framework.","3.4.3"},
{ranch_proxy_protocol,"Ranch Proxy Protocol Transport","1.5.0"},
{jsx,"a streaming, evented json parsing toolkit","2.8.2"},
{ranch,"Socket acceptor pool for TCP protocols.","1.5.0"},
{ssl,"Erlang/OTP SSL application","9.0.2"},
{public_key,"Public key infrastructure","1.6.2"},
{asn1,"The Erlang ASN1 compiler version 5.0.7","5.0.7"},
{inets,"INETS CXC 138 49","7.0.2"},
{xmerl,"XML parser","1.3.18"},
{recon,"Diagnostic tools for production use","2.3.2"},
{crypto,"CRYPTO","4.3.3"},
{goldrush,"Erlang event stream processor","0.1.9"},
{compiler,"ERTS CXC 138 10","7.2.5"},
{syntax_tools,"Syntax tools","2.1.6"},
{sasl,"SASL CXC 138 11","3.2.1"},
{stdlib,"ERTS CXC 138 10","3.6"},
{kernel,"ERTS CXC 138 10","6.1"}]},
{os,{win32,nt}},
{erlang_version,
"Erlang/OTP 21 [erts-10.1] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:64
]\n"},
{memory,
[{connection_readers,0},
{connection_writers,0},
{connection_channels,0},
{connection_other,29212},
{queue_procs,0},
{queue_slave_procs,0},
{plugins,1192744},
{other_proc,26188552},
{metrics,195524},
{mgmt_db,337648},
{mnesia,75088},
{other_ets,2748464},
{binary,181696},
{msg_index,27840},
{code,27573597},
{atom,1131721},
{other_system,9846202},
{allocated_unused,9377056},
{reserved_unallocated,0},
{strategy,rss},
{total,[{erlang,69528288},{rss,78905344},{allocated,78905344}]}]},
{alarms,[]},
{listeners,
[{clustering,25672,"::"},
{amqp,5672,"::"},
{amqp,5672,"0.0.0.0"},
{http,15672,"::"},
{http,15672,"0.0.0.0"}]},
{vm_memory_calculation_strategy,rss},
{vm_memory_high_watermark,0.4},
{vm_memory_limit,3435785420},
{disk_free_limit,50000000},
{disk_free,86038073344},
{file_descriptors,
[{total_limit,8092},
{total_used,2},
{sockets_limit,7280},
{sockets_used,0}]},
{processes,[{limit,1048576},{used,399}]},
{run_queue,1},
{uptime,6087},
{kernel,{net_ticktime,60}}]
问题解决方案:将RABBITMQ_节点名称设置为“masternode”而不是“masternode”rabbit@masternode“,命令执行顺序中的错误,这是要执行的关键操作(加入群集时-先停止应用程序,然后停止服务),并在更改配置后重新启动服务,而不是重新安装rabbitmq服务
如果需要安装、配置rabbitmq以及根据我的安装方案在windows上配置集群,我很乐意分享所有步骤的详细信息。致以最诚挚的问候。RabbitMQ没有在
masternode
上运行-它就在输出中。在masternode
上,rabbitmqctl status
的输出是什么?在多次安装和卸载RabbitMQ后,我注意到cookie文件名看起来不正常,文件名看起来像是“.erlang”而不是“.erlang.cookie”我不知道为什么?对不起,我复制了从masternode卸载RabbitMQ的步骤。现在我重新安装RabbitMQ并将cookie复制到RabbitMQ02,然后我尝试启动应用程序以查看它是否正常工作,但没有。这是错误消息。消息已更新以反映实际的错误消息。join命令失败后,我无法在RabbitMQ02中启动RabbitMQ应用程序或与masternode执行连接。