[英]Mod_cluster Manager cant access nodes
我已经安装了WildFly10,并使用两个端口号分别为100和200的服务器在域模式下启动了它。
我已使用VirtualHost在端口8080和ServerName测试群集上侦听的方式配置了Apache HTTPD 2.4和Mod_cluster Manager 1.3.1。
当我访问test-cluster:8080 / mod_cluster_manager时,一切正常。 当我将Mod_cluster Manager中的侦听端口更改为80时,重新启动Apache并访问test-cluster / mod_cluster_manager我可以看到页面,但是没有JBoss / WildFly服务器节点注册...
可能是什么问题呢?
假设您的Apache HTTP Server在所有接口(0.0.0.0)上进行侦听,这意味着,对于EnableMCPMReceive
VirtualHost,它必须选择一个地址以通过UDP多播发送出去。 该地址是Wildfly尝试联系的地址。
如果Wildfly无法找到Apache HTTP Server,建议您在Apache HTTP Server配置中添加另外两个特定设置以调试问题:
ServerAdvertise On http://pick_ip_address_wildfly_can_access:6666
上述指令(用于代替ServerAdvertise On
)可确保通过UDP多播发送确定的预期地址:端口。 如果使用Advertize.java实用程序在Wildfly机器上进行测试 ,则应该看到类似以下内容:
karm@wildfly-box:~/Projects/MOD_CLUSTER$ java Advertize 224.0.1.105 23364 10.10.10.11
Linux like OS
ready waiting...
received: HTTP/1.0 200 OK
Date: Tue, 31 May 2016 07:51:00 GMT
Sequence: 11
Digest: f23cf884bce70445742540dd84e1a060
Server: 2eceb85a-2704-11e6-9b43-e7ff3db3d039
X-Manager-Address: pick_ip_address_wildfly_can_access:6666
X-Manager-Url: /2eceb85a-2704-11e6-9b43-e7ff3db3d039
X-Manager-Protocol: http
X-Manager-Host: localhost.localdomain
AdvertiseBindAddress 10.10.10.13:23364
正如您在上述指令中看到的那样,我们明确选择了与Apache HTTP Server上10.10.10.13地址绑定的接口,即“ ip_address_wildfly_can_access”。 端口不是任意的,它与下面的指令中使用的端口相同。
Wildfly端的等效项是interface =“ public”属性-这是套接字绑定的默认设置。 如果您希望设置modcluster套接字绑定以侦听其他接口上的UDP多播,请进行更改。
在默认情况下,下面提到的AdvertiseGroup指令是辅助指令-使用默认值时无需设置它。 它必须与您的modcluster套接字绑定中的内容匹配:
AdvertiseGroup 224.0.1.105:23364
<socket-binding name="modcluster" port="0" multicast-address="224.0.1.105" multicast-port="23364"/>
我希望现在很清楚,路由器,iptables或其他网络恶作剧上的任何NAT或端口映射都可以轻易影响您的配置。
我找到了解决方案。 您需要修改iptables来打开JBoss / WildFly将消息广播到集群的广播地址。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.