Mod_cluster Manager无法访问节点

时间:2016-04-26 17:24:34

标签: apache unix jboss wildfly httpd.conf

我安装了WildFly10,并在域模式下启动了两个服务器端口为100和200的端口。

我已经配置了Apache HTTPD 2.4和Mod_cluster Manager 1.3.1 使用VirtualHost侦听端口8080和ServerName测试集群。

当我访问测试集群时:8080 / mod_cluster_manager一切正常。 当我将Mod_cluster Manager中的侦听端口更改为80时,重新启动Apache并访问test-cluster / mod_cluster_manager我可以看到该页面,但是没有JBoss / WildFly服务器节点注册...

可能是什么问题?

2 个答案:

答案 0 :(得分:2)

UDP Multicat广告和接口

假设您的Apache HTTP Server侦听所有接口(0.0.0.0),这意味着,EnableMCPMReceive VirtualHost,它必须选择一个地址通过UDP Multicast发送出去。这个地址是Wildfly试图联系的地址。

如果Wildfly找不到Apache HTTP Server,我建议您在Apache HTTP Server配置中添加两个更具体的设置来调试问题:

ServerAdvertise On http://pick_ip_address_wildfly_can_access:6666

上述指令(代替ServerAdvertise On使用)确保通过UDP Multicast发送确定性的预期地址:端口。 如果您使用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
  • 224.0.1.105 - 第一个参数是Apache HTTP Server将数据报发送到的
  • 的UDP多播地址
  • 23364 - 第二个参数是用于它的端口
  • 10.10.10.11 - 最后一个参数是从Apache HTTP Server通告的同一网络接收数据的接口的IP地址 - 可以使用AdvertiseBindAddress指令在Apache HTTP Server端设置,见下文。这意味着“pick_ip_address_wildfly_can_access”必须是可以与10.10.10.11交谈的东西;例如10.10.10.13,如果它们都是例如各个服务器上的接口em1或eth0。

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 socketbinding中的内容匹配:

AdvertiseGroup 224.0.1.105:23364

<socket-binding name="modcluster" port="0" multicast-address="224.0.1.105" multicast-port="23364"/>

我希望现在很清楚,路由器,iptables或其他网络恶作剧上的任何NAT或端口​​映射都可能轻易影响您的配置。

  • Apache HTTP Server必须在Wildfly侦听的接口上做广告,
  • Apache HTTP Server必须通告Wildfly可以访问的地址和
  • Wildfly必须报告其Apache HTTP Server可以访问的地址和端口

答案 1 :(得分:0)

我找到了解决方案。您需要修改iptables以打开JBoss / WildFly将消息广播到群集的广播地址。