0

希望有人可以在这里提供帮助。目前我有一个由域控制器 + 主机控制器组成的 JBoss EAP 6.4 设置。

我想把 Apache 放在前面来测试负载平衡,因为最终这个设置将跨越多个主机。我已经安装了 Apache 并配置了 VirtualHost,但是,每当我尝试访问我的应用程序时,我都会收到以下错误:

[错误]代理:集群:(平衡器://mycluster)。所有工作人员都处于错误状态

这表明我的 EAP 实例没有与 Apache/mod_cluster 通信。我已将 Apache 配置为每 5 秒发布一次广告,并通过运行以下命令测试它是否正常工作:

java -cp $JBOSS_HOME/bin/client/jboss-client.jar org.jgroups.tests.McastSenderTest -mcast_addr  230.11.11.11 -port 5555

我可以看到以下输出:

HTTP/1.0 200 OK
Date: Wed, 28 Oct 2015 17:14:36 GMT
Sequence: 545
Digest: ee99a011cc00c3280264ecccc5bddb89
Server: 357f91e8-236c-4f64-978a-bc4e8180954c
X-Manager-Address: 127.0.0.1:6666 
X-Manager-Url: /357f91e8-236c-4f64-978a-bc4e8180954c
X-Manager- [sender=172.16.97.216:23364]

因此,从上面可以清楚地看出 apache/mod_cluster 正在工作。EAP 中的配置也符合文档,因为我没有指定固定的代理列表,而是在我使用的每个 ha 配置文件中将广告套接字设置为 modcluster。

我禁用了 iptables,并且没有任何阻塞连接。当我部署我的集群 Web 应用程序时,它已成功构建,没有任何问题,因此不确定是什么阻止了 EAP 连接到 mod_cluster。当我查看 mod_cluster-manager 的状态页面时,它加载了所有相关模块但不显示节点......

有任何想法吗 ?

4

1 回答 1

0

问题是您正在尝试在 localhost 上使用 UDP 多播X-Manager-Address: 127.0.0.1:6666。执行以下步骤以使您的设置工作:

  1. 将 Apache HTTP Server 和您的 EAP 实例绑定到非本地 IP 地址上,例如 192.168.1.100(没关系;它可以是公共子网或私有子网,无论如何)

  2. 在 mod_cluster manager 控制台上验证节点的状态是否正常。mod_cluster 管理器控制台的 URL 取决于您在 <Location /mod_cluster_manager> SetHandler mod_cluster-manager ...

  3. 请记住,不仅 EAP 必须能够到达 Apache HTTP Server IP address:port,而且 Apache HTTP Server 也必须能够到达 EAP IP address:port;Apache HTTP Server 和 EAP 之间的通信是双向的。

让我知道它是否对你有用。

于 2015-11-03T11:58:10.893 回答