Java modcluster(Wildfly)未检测到来自Apache的广告

Java modcluster(Wildfly)未检测到来自Apache的广告,java,apache,wildfly-8,mod-cluster,Java,Apache,Wildfly 8,Mod Cluster,我正在尝试用mod_集群配置WildFly 8.1.0。WildFly和Apache都在同一台机器上运行。这台机器是带有Apache2.2.x的Ubuntu12.04 Apache设置正确(我相信)。我已经通过运行mod_代理源代码(github)中的测试类advertise测试了advertise模块是否正常工作。apache日志中没有错误 我按如下方式启动服务器:./standalone.sh-c standalone-ha.xml 如果有人能看到下面的配置有什么问题,并帮助我摆脱痛苦的日子

我正在尝试用mod_集群配置WildFly 8.1.0。WildFly和Apache都在同一台机器上运行。这台机器是带有Apache2.2.x的Ubuntu12.04

Apache设置正确(我相信)。我已经通过运行mod_代理源代码(github)中的测试类advertise测试了advertise模块是否正常工作。apache日志中没有错误

我按如下方式启动服务器:./standalone.sh-c standalone-ha.xml

如果有人能看到下面的配置有什么问题,并帮助我摆脱痛苦的日子,我将非常感激

Apache配置 mod_cluster_manager(178.62.50.xxx:6666/mod_cluster_manager)的打印输出 最后,这里是取自standalone-ha.xml的相关位
我终于在这里找到了问题所在。公共接口还需要引用服务器IP,而不是127.0.1.1

更新的接口配置为:

<interfaces>
    <interface name="management">
        <inet-address value="178.62.50.xxx"/>
    </interface>
    <interface name="public">
        <inet-address value="178.62.50.xxx"/>
    </interface>
    <interface name="unsecure">
        <inet-address value="${jboss.bind.address.unsecure:127.0.1.1}"/>
    </interface>
</interfaces>

您需要:

  • 中使用
    EnableMCPMReceive
    ,以便允许它使用来自WildFly的MCMP消息

  • 在这种情况下,启用的VirtualHost必须允许WildFly服务器的IP地址

  • 使用WildFly时,永远不要绑定到
    localhost
    ——在mod_集群环境中没有任何意义,除非盒子(Apache和WildFly实例)都位于一个盒子中;这可能只是当地的发展情况

  • 整个事件链如下所示:

  • Apache发送一条UDP多播消息,说明其位置(默认情况下,启用广告的VirtualHost)
  • WildFly捕获该消息,mod_集群子系统发送配置和状态消息,其中包含其JvmRoute(实例id)、主机、端口、协议…、加载。。。主机和端口必须可以从Apache HTTP服务器访问
  • Apache HTTP服务器与其主机上的WildFly服务器对话:端口带有状态-RSP消息等。通信是双向的
请不要将此与请求路由混淆,默认情况下,客户端请求通过AJP从Apache HTTP服务器传递到WildFly并返回,而MCMP消息使用HTTP


K

BTW:关于您的ProxyPass配置:它看起来有点奇怪,如果您不使用任何附加指令,如
ProxyPassMatch
等,为什么要手动创建ProxyPass?这似乎是多余的。最后但并非最不重要的一点是,在使用
CreateBalancers
时,请注意中描述的。
<VirtualHost *:80>

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

        ProxyPass / balancer://mycluster stickysession=JSESSIONID|jsessionid nofailover=On
        ProxyPassReverse / balancer://mycluster
        ProxyPreserveHost On

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>
received from /178.62.50.xxx:23364
received: HTTP/1.0 200 OK
Date: Sat, 26 Jul 2014 20:03:12 GMT
Sequence: 121
Digest: 4dedd3761d451227f36534b63ca2a8a1
Server: b23584e2-314f-404d-8fde-05069bfe5dc7
X-Manager-Address: 127.0.1.1:6666
X-Manager-Url: /b23584e2-314f-404d-8fde-05069bfe5dc7
X-Manager-Protocol: http
X-Manager-Host: 127.0.1.1
mod_cluster/1.2.6.Final
start of "httpd.conf" configuration
mod_proxy_cluster.c: OK
mod_sharedmem.c: OK
Protocol supported: http AJP 
mod_advertise.c: OK
Server: 127.0.1.1 
Server: 127.0.1.1 VirtualHost: *:80
Server: 127.0.1.1 VirtualHost: *:6666 Advertising on Group 224.0.1.105 Port 23364 for http://127.0.1.1:6666 every 5 seconds
end of "httpd.conf" configuration
<subsystem xmlns="urn:jboss:domain:modcluster:1.2">
    <mod-cluster-config advertise-socket="modcluster" connector="ajp">
        <dynamic-load-provider>
            <load-metric type="cpu"/>
        </dynamic-load-provider>
    </mod-cluster-config>
</subsystem>

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

<interfaces>
    <interface name="management">
        <inet-address value="178.62.50.xxx"/>
    </interface>
    <interface name="public">
        <inet-address value="127.0.1.1"/>
    </interface>
    <interface name="unsecure">
        <inet-address value="${jboss.bind.address.unsecure:127.0.1.1}"/>
    </interface>
</interfaces>
15:53:29,805 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-1) JBAS017519: Undertow HTTP listener default listening on /127.0.1.1:8080
15:53:29,811 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-2) JBAS017519: Undertow AJP listener ajp listening on /127.0.1.1:8009
15:53:29,905 INFO  [org.jboss.modcluster] (ServerService Thread Pool -- 54) MODCLUSTER000001: Initializing mod_cluster version 1.3.0.Final
15:53:29,967 INFO  [org.jboss.modcluster] (ServerService Thread Pool -- 54) MODCLUSTER000032: Listening to proxy advertisements on /224.0.1.105:23364
<interfaces>
    <interface name="management">
        <inet-address value="178.62.50.xxx"/>
    </interface>
    <interface name="public">
        <inet-address value="178.62.50.xxx"/>
    </interface>
    <interface name="unsecure">
        <inet-address value="${jboss.bind.address.unsecure:127.0.1.1}"/>
    </interface>
</interfaces>