希望有人可以在这里提供帮助。目前我有一个JBoss EAP 6.4设置,包括域控制器+主机控制器。
我想把Apache放在此前面来测试负载平衡,因为最终这个设置将跨越多个主机。我已经安装了Apache并配置了VirtualHost但是,每当我尝试访问我的应用程序时,我都会遇到以下错误:
[错误]代理:CLUSTER :( balancer:// 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配置文件中将advertise-socket设置为modcluster。
我已禁用iptables,并且没有阻止连接。当我部署我的集群Web应用程序时,它成功地形成没有任何问题,所以不确定什么阻止EAP连接到mod_cluster。当我查看mod_cluster-manager的状态页面时,它加载了所有相关模块,但没有显示节点......
有什么想法吗?
答案 0 :(得分:0)
问题是您尝试在localhost X-Manager-Address: 127.0.0.1:6666
上使用UDP多播。
执行以下步骤以使设置正常工作:
在非本地主机IP地址上绑定Apache HTTP Server和您的EAP实例,例如: 192.168.1.100(无所谓;它可以是公共或私有子网,无论如何)
在mod_cluster管理器控制台上验证节点的状态是否正常。 mod_cluster管理器控制台的URL取决于您的设置
<Location /mod_cluster_manager>
SetHandler mod_cluster-manager
...
请记住,不仅EAP必须能够访问Apache HTTP Server IP地址:端口,而且Apache HTTP Server必须能够访问EAP IP地址:port; Apache HTTP Server和EAP之间的通信是双向。
Lemme知道它是否适合你。