错误 MEM 将 STATUS 命令发送到 <host>,配置将被重置:MEM:无法读取节点



我正在尝试实现Wildfly 8.1.0。最终的域设置,配置完整的ha,有1个主服务器和2个从服务器,通过mod_cluster进行负载平衡。

我的环境:1) VPS(DigitalOCean)Ubuntu 14.04 LTS x64、Wildfly 8.1.0.Final和Apache Web Server 2.4.7上的主机主机,带有mod_cluster 1.3.1.Alpha3-NAPSHOT;2) VPS(DigitalOCean)Ubuntu 14.04 LTS x64和Wildfly 8.1.0.Final上的主机slave1;3) 主机slave2在VPS(DigitalOCean)Ubuntu 14.04 LTS x64和Wildfly 8.1.0.Final.

由于1.2.6版本与Apache Web Server 2.4.7版本不兼容,我不得不编译mod_cluster。

我看到以下错误:

a) 在主机主机上(/var/log/apache2/error.log):"(111)连接被拒绝:AH00957:ajp:尝试连接到hostronglave1失败"

b) 在主机slave1上(/opt/wildfly/domain/configuration/servers/server one/server.log):"2014-09-18 20:50:5169 ERROR[org.jboss.modcluster](UndertowEventHandlerAdapter-1)MODCLUSTER000042:错误MEM将STATUS命令发送到host_master,配置将重置:MEM:无法读取节点"

因此,具有mod_cluster的负载平衡虚拟主机无法连接到主机slave1和slave2。

请问如何解决这个问题?

起初,您可以使用mod_cluster 1.3.1.Final,现在它已与Apache HTTP Server 2.4.x完全集成。

答案

问题肯定出在网络/主机隔离上。您的工作节点仅能访问启用了EnableMCPMReceive的VirtualHost是不够的;您的Apache HTTP服务器必须能够返回到工作者。

查看host_slave1报告给Apache HTTP服务器的IP地址(主机名),并确保可以从Apache HTTP服务器机器联系该地址上的host_slave1:端口

可以在Mod_cluster maanger控制台上轻松验证状态,在虚拟主机中启用:

    <Location /mod_cluster_manager>
      SetHandler mod_cluster-manager
      # This is super sensitive, don't open to the world...
      Require ip 127.0.0.1
   </Location>

HTH

您的Apache HTTP服务器必须能够返回到工作者。

ajping是一个易于安装和使用的小型脚本。在负载均衡器上安装并调用:

loadbalancer$ ajping host_slave1:8009
Reply from 172.26.XXX.XXX: 7 bytes in 0.002 seconds

这验证了负载平衡器可以与节点进行AJP对话。

您的问题是JBOSS服务器无法将数据发送到apache服务器,实际上apache无法将您的请求重定向到JBOSS应用程序。

原因可能是任何人,也许如果你指定https,证书没有配置,也许在你的jboss中,配置会出现错误——最简单的是按照modcluster网站上的示例,或者发送standalone或domain.xml和apache配置。

我认为既然他已经找到了解决方案,他应该在这里为未来有同样问题的人发帖。。。

  • 在Apache HTTPD mod_cluster.conf文件中添加"PersistSlots On"。

  • 与节点、别名和上下文相关联的元数据由工作节点在注册过程中发送,然后通过消息进行更新,但默认情况下不会持久化。因此,如果httpd节点被停止,然后重新启动,它就会丢失元数据,因此它";忘记";关于后端节点,除非工作节点明确地重新注册。

在此期间,httpd确实完全了解后端集群中的每个EAP节点,当它接收到有效(但未知)的JVM路由时,它无法正确地进行负载平衡。

可以通过将PersistSlots设置为"0"来避免这种行为;在"上";。

设置";PersistSlots";至";在"上";。

LoadModule slotmem_module modules/mod_slotmem.so
LoadModule manager_module modules/mod_manager.so
LoadModule proxy_cluster_module modules/mod_proxy_cluster.so
LoadModule advertise_module modules/mod_advertise.so
Listen *:6666
PersistSlots On        <<<<<<----------------- THIS ENTRY ---------#####        
<VirtualHost *:6666>
.
.
.
</VirtualHost>

最新更新