说明:本配置仅限于jboss的web server在windows环境下的集群,不涉及jboss cache,ejbs,jndi等内容,jboss版本为4.2.3GA .主要参考文档《JBoss Application Server 5 Clustering Guide》
1、环境准备:
a. 安装JDK 1.5 ,并配置环境变量;
b. 安装jboss 4.2.3.GA,下载地址:http://www.jboss.org/jbossas/downloads/ ;
c. 安装apache_2.2.10 ,下载地址:http://httpd.apache.org/ ;
d.下载apache mod_jk , 地址为:http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/ ;
2、负载均衡配置:
a. 将下载的apache mod_jk重命名为mod_jk.so,复制到APACHE_HOME/modules/中,修改 APACHE_HOME/conf/httpd.conf ,在文件末添加:
Property代码
<SPAN style="FONT-SIZE: small"># Include mod_jk's specific configuration file
Include conf/mod-jk.conf</SPAN>
# Include mod_jk's specific configuration file
Include conf/mod-jk.conf
b. 在APACHE_HOME/conf/目录创建新文件mod-jk.conf,内容如下:
Property代码
<SPAN style="FONT-SIZE: small"># Load mod_jk module
# Specify the filename of the mod_jk lib
LoadModule jk_module modules/mod_jk.so
# Where to find workers.properties
JkWorkersFile conf/workers.properties
# Where to put jk logs
JkLogFile logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
# JkOptions indicates to send SSK KEY SIZE
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat
JkRequestLogFormat "%w %V %T"
# Mount your applications
JkMount /application/* loadbalancer
# You can use external file for mount points.
# It will be checked for updates each 60 seconds.
# The format of the file is: /url=worker
# /examples/*=loadbalancer
JkMountFile conf/uriworkermap.properties
# Add shared memory.
# This directive is present with 1.2.10 and
# later versions of mod_jk, and is needed for
# for load balancing to work properly
JkShmFile logs/jk.shm
# Add jkstatus for managing runtime data
<Location /jkstatus/>
JkMount status
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Location>
</SPAN>
# Load mod_jk module
# Specify the filename of the mod_jk lib
LoadModule jk_module modules/mod_jk.so
# Where to find workers.properties
JkWorkersFile conf/workers.properties
# Where to put jk logs
JkLogFile logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
# JkOptions indicates to send SSK KEY SIZE
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat
JkRequestLogFormat "%w %V %T"
# Mount your applications
JkMount /application/* loadbalancer
# You can use external file for mount points.
# It will be checked for updates each 60 seconds.
# The format of the file is: /url=worker
# /examples/*=loadbalancer
JkMountFile conf/uriworkermap.properties
# Add shared memory.
# This directive is present with 1.2.10 and
# later versions of mod_jk, and is needed for
# for load balancing to work properly
JkShmFile logs/jk.shm
# Add jkstatus for managing runtime data
<Location /jkstatus/>
JkMount status
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Location>
c. 在 在APACHE_HOME/conf/目录创建新文件uriworkermap.properties,置为空,这个文件主要是做url 路由的,基本格式为/url=worker_name;
d. 在 在APACHE_HOME/conf/目录创建新文件workers.properties,内容如下:
Property代码
<SPAN style="FONT-SIZE: small"># Define list of workers that will be used
# for mapping requests
worker.list=loadbalancer,status
# Define Node1
# modify the host as your host IP or DNS name.
worker.node1.port=8009
worker.node1.host=node1.mydomain.com
worker.node1.type=ajp13
worker.node1.lbfactor=1
worker.node1.cachesize=10
# Define Node2
# modify the host as your host IP or DNS name
worker.node2.port=8009
worker.node2.host= node2.mydomain.com
worker.node2.type=ajp13
worker.node2.lbfactor=1
worker.node2.cachesize=10
# Load-balancing behaviour
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=node1,node2
worker.loadbalancer.sticky_session=1
#worker.list=loadbalancer
# Status worker for managing load balancer
worker.status.type=status
</SPAN>
# Define list of workers that will be used
# for mapping requests
worker.list=loadbalancer,status
# Define Node1
# modify the host as your host IP or DNS name.
worker.node1.port=8009
worker.node1.host=node1.mydomain.com
worker.node1.type=ajp13
worker.node1.lbfactor=1
worker.node1.cachesize=10
# Define Node2
# modify the host as your host IP or DNS name
worker.node2.port=8009
worker.node2.host= node2.mydomain.com
worker.node2.type=ajp13
worker.node2.lbfactor=1
worker.node2.cachesize=10
# Load-balancing behaviour
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=node1,node2
worker.loadbalancer.sticky_session=1
#worker.list=loadbalancer
# Status worker for managing load balancer
worker.status.type=status
上面的文件中配置了两个节点,name分别为node1,node2,指定两个节点的IP,并在worker.loadbalancer.balance_workers中指定所有的node列表,worker.loadbalancer.sticky_session设置是否启用“粘着的”Session,sticky session是指来自同一IP的请求将被发送到同一个Jboss节点,sticky session设为0的话同一session的不同请求会被负载均衡分发到不同的jboss节点上。
3、JBoss节点配置:
a . 修改JBOSS_HOME/server/all/deploy/jboss-web.deployer/server.xml文件,将Engine 修改如下:
Property代码
<SPAN style="FONT-SIZE: small"><Engine name="jboss.web" defaultHost="localhost" jvmRoute="node1">
...
</Engine></SPAN>
<Engine name="jboss.web" defaultHost="localhost" jvmRoute="node1">
...
</Engine>
node1和node2分别对应相应ip的jboss;
b. 修改 JBOSS_HOME/server/all/deploy/ jboss-web.deployer /META-INF/jbossservice.xml,找到<attribute name="UseJK">该为:
Property代码
<SPAN style="FONT-SIZE: small"><attribute name="UseJK">true</attribute></SPAN>
<attribute name="UseJK">true</attribute>
至此,jboss集群环境已经基本配置完成,启动先启动apache,然后启动jboss,可测试,启动jboss时需指定run.bat -c all ,default配置是不支持集群的。
4、Session同步
a. 编辑JBOSS_HOME/server/all/deploy/jbossweb-cluster.sar/META-INF/jboss-service.xml,找到<attribute name="ClusterConfig">,有udp和tcp两种方式,任选一种即可,将bind_addr改为本机ip,<tcpping initial_hosts 值设为:node1 IP[7810],node2 IP[7810] ;
b. 修改应用程序的web.xml文件,如下所示:
Xml代码
<SPAN style="FONT-SIZE: small"><?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd ">
<distributable />
...
</web-app></SPAN>
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd ">
<distributable />
...
</web-app>
c. 在web-inf中添加jboss-web.xml文件,内容如下:
Xml代码
<SPAN style="FONT-SIZE: small"><?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jboss-web PUBLIC
"-//JBoss//DTD Web Application 4.2//EN"
"http://www.jboss.org/j2ee/dtd/jboss-web_4_2.dtd">
<jboss-web>
<replication-config>
<replication-trigger>SET_AND_NON_PRIMITIVE_GET</replication-trigger>
<replication-granularity>SESSION</replication-granularity>
<replication-field-batch-mode>true</replication-field-batch-mode>
</replication-config>
<context-root>/</context-root>
</jboss-web></SPAN>
分享到:
相关推荐
JBoss 4.2.3GA是一个流行的Java应用服务器,通过配置集群可以提高服务的稳定性和性能。而Apache作为Web服务器,可以通过mod_jk模块实现对应用服务器的负载均衡。本教程将详细讲解如何在Windows环境下,使用Apache和...
【JBoss4.2.3GA + EJB3.0 + JAAS】是企业级Java应用服务器、EJB(Enterprise JavaBeans)版本和安全性框架JAAS(Java Authentication and Authorization Service)的一个经典组合。这个组合在Java开发领域具有重要的...
3. **server_minimal.rar**:这是JBoss AS 4.2.3.GA的基础服务器部署包,可能只包含了运行最小化配置所需的文件,适合快速启动和基本测试。 4. **JBossORG-EULA.txt**:这是Red Hat JBoss的最终用户许可协议,详细...
【JBoss 4.2.3.GA】是JBoss Application Server的一个稳定版本,它在2007年发布,提供了全面的企业级Java应用程序部署和支持。这个版本支持J2EE 1.4规范,包括EJB 2.1、JSF 1.1、JPA(Java Persistence API)和Web...
此版本在其余地方已经下载不到了哟,但是这个版本还是很好的,jboss-4.2.3.GA,此jboss支持jboss 4.x 开发,jdk需满足5.0及以上的版本,不然会运行出错的,需要的自行下载哈,无解压密码,下载即用
2. **EJB 3.0**:JBoss 4.2.3 GA实现了EJB 3.0规范,简化了企业级组件的开发,通过注解(Annotations)使得部署和配置更加简单,减少了XML配置文件的需求。 3. **JMS集成**:JBoss内建了对JMS的支持,允许开发者...
下面我们将详细解析“JBOSS4.2.3 文件结构图”中的各个组成部分。 #### bin 目录 - **bin**:此目录包含了启动和停止JBoss服务器所需的所有脚本文件。这些脚本通常包括`run.sh`(Unix/Linux系统)或`run.bat`...
老版本的jboss,4.2.3版本的,支持jdk6,由于文件较老,需要的人下载吧,也可以去官网下载,参考地址:https://sourceforge.net/projects/jboss/files/JBoss/JBoss-4.2.3.GA/
3. **JPA(Java Persistence API)**:JBoss 4.2.3 包含对JPA的实现,使得对象-关系映射(ORM)更加直观,开发者可以通过注解或XML配置文件将Java对象持久化到关系数据库中,如Hibernate作为默认的JPA提供者。...
这个压缩包文件"jbos-4.2.3.GA.rar"包含了JBoss 4.2.3 GA版本的所有组件和资源,这个版本在当时是一个稳定且广泛使用的版本。 JBoss 4.2.3 GA的核心特性包括: 1. **Java EE 5支持**:JBoss 4.2.3 GA遵循了Java EE...
jbpm-3.2.6.SP1默认安装在jboss-4.2.3.GA下不支持Oracle,对配置文件进行修改,内有详细的文档说明。解压后直接将文件夹jbpm3覆盖到jboss-4.2.3.GA\server\default\deploy\jbpm,注意拷贝oracle的jdbc驱动到jboss-4.2.3...
在JBoss 4.2.3 GA版本中,配置集群通常涉及到以下几个关键概念: 1. **高可用性集群(HA Cluster)**: HA 集群是为了提高系统的可用性和可维护性,防止单点故障。当一个节点失败时,工作负载可以自动转移到其他...
**JBOSS 4.2.2GA 使用指南** JBOSS是一款开源的企业级Java应用服务器,基于Java 2企业版(J2EE)规范。JBOSS 4.2.2GA是其一个特定的稳定版本,发布于2007年,提供了一个全面的平台来部署和管理各种Java应用程序和...
JBoss AS 4.2.3.GA支持集群部署,以提高应用程序的可用性和伸缩性。通过集群,负载可以被分发到多个节点,实现故障转移和资源共享,确保服务的连续性。 7. **JMS支持** 该版本的JBoss集成了JMS,允许开发消息...
`cluster-service.xml` 文件是JBoss AS配置集群服务的重要文件。这个XML配置文件定义了集群的设置,如网络通信参数、集群成员的发现机制、会话复制策略等。通过调整这些配置,你可以定制适合你的应用需求的集群环境...
7. **集群与高可用性**:JBoss 4.2.3支持集群部署,通过复制和负载均衡策略提高系统的可用性和性能,确保在单个节点故障时应用仍能正常运行。 8. **安全管理**:JBoss提供了一套全面的安全机制,包括JAAS(Java ...