【发布时间】:2015-08-03 06:02:23
【问题描述】:
我们目前正在测试从 Wildfly 8.2.0 迁移到 Wildfly 9.0.0.CR1(或从快照构建的 CR2)。该系统是一个使用 mod_cluster 的集群,并且在 VPS 上运行,这实际上阻止了它使用多播。
在 8.2.0 上,我们一直使用以下运行良好的 modcluster 配置:
<mod-cluster-config proxy-list="1.2.3.4:10001,1.2.3.5:10001" advertise="false" connector="ajp">
<dynamic-load-provider>
<load-metric type="cpu"/>
</dynamic-load-provider>
</mod-cluster-config>
不幸的是,在 9.0.0 上,代理列表已被弃用,并且服务器的启动将因错误而结束。文档严重缺乏,但是经过几次尝试后,我发现代理列表已替换为出站套接字绑定列表的代理。因此,配置如下所示:
<mod-cluster-config proxies="mc-prox1 mc-prox2" advertise="false" connector="ajp">
<dynamic-load-provider>
<load-metric type="cpu"/>
</dynamic-load-provider>
</mod-cluster-config>
以下内容应添加到适当的套接字绑定组中(在我的情况下是完整的):
<outbound-socket-binding name="mc-prox1">
<remote-destination host="1.2.3.4" port="10001"/>
</outbound-socket-binding>
<outbound-socket-binding name="mc-prox2">
<remote-destination host="1.2.3.5" port="10001"/>
</outbound-socket-binding>
到目前为止一切顺利。在此之后,httpd 集群开始注册节点。但是我从负载均衡器中得到错误。当我查看 /mod_cluster-manager 时,我看到了几行 Node REMOVED 行,并且还有很多错误,例如:
ERROR [org.jboss.modcluster] (UndertowEventHandlerAdapter - 1) MODCLUSTER000042: Error MEM sending STATUS command to node1/1.2.3.4:10001, configuration will be reset: MEM: Can't read node
在 mod_cluster 的日志中有等效的警告:
manager_handler STATUS error: MEM: Can't read node
据我了解,问题是虽然 wildfly/modcluster 能够连接到 httpd/mod_cluster,但它不能以其他方式工作。不幸的是,即使经过大量的努力,我还是被卡住了。
有人可以帮助为 Wildfly 9.0.0 设置 mod_cluster 而不做广告吗?非常感谢。
【问题讨论】:
标签: wildfly mod-cluster