本文使用Apache HTTPD与mod_cluster构建JBOSS群集。
但,需要说明的是:这不是构建JBOSS高可用群集的唯一方式。
体系结构图如下:
Architecture

本文会涉及到三台主机的配置:
Operating System: Red Hat Enterprise Linux 5 Update 10,64 Bit

Httpd Server:
Hostname:Front-server
IP: 192.168.37.139
Software:
a.Apache Httpd
b.mod_cluster(负载均衡器),负责连接Apache与Jboss

JBOSS Cluster Server.
Software:
a.Java JDK 1.7
b.Jboss Application Server wildfly 8

Node1:
Hostname:Jboss1
IP: 192.168.37.137

Node2:
Hostname:Jboss2
IP: 192.168.37.138
—— —— —— —— —— ——
Session Replication:
software:
a.JGroups
b.Infinispan
————————————————————————
mod_cluster社区:http://mod-cluster.jboss.org/downloads
由于我的操作系统为64Bit,所以mod_cluster下载版本亦为64Bit。

————————————————————————
以上内容为开始文档前需要预先准备的部分。

一、Apache httpd的安装(on Front-server

Command is: yum install -y httpd

设置HTTPD监听端口为:80(默认为80)

解压“mod_cluster-1.2.0.Final-linux2-x64-so.tar.gz”,并将解压后的*.so复制到HTTPD的Modules中

取消HTTPD对“mod_proxy_balancer”模块的启用,该模块与mod_cluster冲突。

为HTTPD创建对mod_cluster的启用

重启Httpd服务:

二、JBoss端(on Jboss1/Jboss2):JBOSS软件安装

(该部分没有特别说明的,各个节点均同样的操作与配置。)
Java Support
Command is:yum install -y java-1.7.0-openjdk.x86_64

Jboss Software

三、JBoss端(on Jboss1/Jboss2):JBOSS配置

JBOSS端的配置主要是添加:proxy-list和balancer。
可以通过三种方式达到该目标:
1.修改配置文件
$JBOSS_HOME/standalone/configuration/standalone-ha.xml
修改如下内容:
修改前

修改后

上面的proxy-list与balancer要与Httpd的配置相互对应。
proxy-list,对应HTTPD的VirtualHOST后设定
balancer,对应HTTPD的ManagerBalancerName的值
(配置好后,即可启动JBOSS集群,参考“四、JBOSS集群的启动。”)

2.通过WEB管理界面。(JBOSS各个节点均需操作,这里以JBOSS1为例,JBOSS2是一样的)
在启用JBOSS的WEB管理界面之前,现需要做一些配置。
添加管理用户:
./bin/add-user.sh

(上述命令LOG,添加了管理用户:adamhuan,并加入到了ManagementRealm组)
修改standalone-ha.xml中关于可访问ManagementWEB的网段的限定。
/Jboss/standalone/configuration/standalone-ha.xml
修改前:

修改后:

然后,以standaloe-ha.xml模式启动JBOSS。(两个节点都要操作)
Command is:./standalone.sh -c standalone-ha.xml

登陆浏览器:
节点一:http://192.168.37.137:9990/console
节点二:http://192.168.37.138:9990/console
Management_1

Management_2

Management_3

Management_4

Management_5

Management_6

Management_7
(It’s Done!)

3.By Command.以命令行方式完成配置
$JBOSS_HOME/bin/jboss-cli.sh

你需要在上面的JBOSS命令行中执行的命令如下:

(Done!)

四、JBOSS集群的启动。

各个节点启动JBOSS
Jboss1
Command is: ./standalone.sh -c standalone-ha.xml -b 192.168.37.137 -bmanagement 192.168.37.137 -Djboss.node.name=Jboss1 -Djboss.mod_cluster.jvmRoute=Jboss1

Jboss2
Command is: ./standalone.sh -c standalone-ha.xml -b 192.168.37.138 -bmanagement 192.168.37.138 -Djboss.node.name=Jboss2 -Djboss.mod_cluster.jvmRoute=Jboss2

五、查看JBOSS运行状态。

当集群起来后:
访问:http://192.168.37.139:6666/mod_cluster-manager
可以查看当前mod_cluster的运行状态
Cluster_status
—— —— ——
访问:http://192.168.37.137:9990/error/index.html
该页面为Jboss1的管理界面
Node1_Manager
—— —— ——
访问:http://192.168.37.138:8080/
可以查看Jboss1的运行状态
Node1_Running
(对于节点二,上述两个界面:管理、运行时,也是一样的,只是IP不同罢了。)
————————————————————————————————————————————————————————
Ending。

打赏

2
说点什么

avatar
2 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
0 Comment authors
流青 Recent comment authors

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  Subscribe  
提醒
流青
游客
流青

最后,还是写完了。

流青
游客
流青

虽然Wildfly可以,但是AS7还是有很多问题,并且对于JBOSS的管理与维护还不甚了解,这些都是需要完善的部分,要更努力。