JBoss 系列五十:使用Apache httpd(mod_jk)和JBoss构架高可用集群环境

标签: jboss 系列 五十 | 发表时间:2013-11-15 06:42 | 作者:kylinsoong
出处:http://blog.csdn.net

概述

前面 JBoss 系列二:使用Apache httpd(mod_cluster)和JBoss构架高可用集群环境中我们介绍了企业应用的目的的目的,负载均衡,容错等,并通过Apache httpd(mod_cluster)和JBoss构架高可用集群环境,我们这里在原有的环境中将mod_cluster换成mod_jk,其架构如下图所示:


本方案是在开源Linux操作系统Fedora 15上进行,我们列出本方案使用的硬件和软件,三台物理机器,内存4GB或以上,安装Fedora 15后IP地址分别为10.66.192.48,10.66.192.231,10.66.192.232,我们分别对这三台物理机器做相应的安装如下:

  • 10.66.192.231 – 安装JDK 1.6,JBoss 7,JBoss节点名称为node1
  • 10.66.192.232 – 安装JDK 1.6,JBoss 7,JBoss节点名称为node2
  • 10.66.192.48  – 安装Apache httpd,mod_jk
接下来我们给出使用Apache httpd(mod_jk)和JBoss构架高可用集群环境的步骤。

下载mod_jk相关安装包

http://tomcat.apache.org/download-connectors.cgi下载mod_jk.so包到本地(注意选择适合自己操作系统对应httpd的包)。

安装 Apache httpd

请参照系列一 Apache httpd 安装( http://blog.csdn.net/kylinsoong/article/details/12291173

Apache httpd端配置

编辑httpd/conf/httpd.conf,让httpd监听在10.66.192.48:80上:

Listen 10.66.192.48:80 
拷贝mod_jk.so文件到httpd/modules目录:

cp mod_jk.so  /etc/httpd/modules 
在httpd/conf.d下创建mod_jk.conf文件,编辑内容如下:

# 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

# 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

# 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
 
# 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>
在httpd/conf下创建workers.properties,并添加如下内容:

# 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=10.66.192.231
worker.node1.type=ajp13
worker.node1.ping_mode=A
worker.node1.lbfactor=1 

# Define Node2
# modify the host as your host IP or DNS name.
worker.node2.port=8009
worker.node2.host=10.66.192.232
worker.node2.type=ajp13
worker.node2.ping_mode=A
worker.node2.lbfactor=1

# Load-balancing behavior
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=node1,node2
worker.loadbalancer.sticky_session=1

# Status worker for managing load balancer
worker.status.type=status
在httpd/conf下创建uriworkermap.properties,并添加如下内容:

# Simple worker configuration file

# Mount the Servlet context to the ajp13 worker
/jmx-console=loadbalancer
/jmx-console/*=loadbalancer
/web-console=loadbalancer
/web-console/*=loadbalancer
#/printSession=loadbalancer
#/printSession/*=loadbalancer
配置完成后重启Apache httpd,如果启动显示成功表明配置正确。

JBoss端配置

分别启动10.66.192.231,10.66.192.232 JBoss,到管理界面,Profile -> General Configuration -> System Properties,单击添加按钮,添加两组变量jvmRoute=node1,UseJK=true到10.66.192.231,以及jvmRoute=node2,UseJK=true到10.66.192.232.添加完成后,依次重启两个节点:

./standalone.sh -c standalone-ha.xml -b 10.66.192.231 -bmanagement 10.66.192.231 -u 239.255.100.100 -Djboss.node.name=node1

./standalone.sh -c standalone-ha.xml -b 10.66.192.232 -bmanagement 10.66.192.232 -u 239.255.100.100 -Djboss.node.name=node2

结束

至此,配置结束,我们可以部署测试应用测试高可用,负责均衡等,类似于 JBoss 系列二:使用Apache httpd(mod_cluster)和JBoss构架高可用集群环境





作者:kylinsoong 发表于2013-11-14 22:42:16 原文链接
阅读:0 评论:0 查看评论

相关 [jboss 系列 五十] 推荐:

JBoss 系列五十:使用Apache httpd(mod_jk)和JBoss构架高可用集群环境

- - CSDN博客架构设计推荐文章
前面 JBoss 系列二:使用Apache httpd(mod_cluster)和JBoss构架高可用集群环境中我们介绍了企业应用的目的的目的,负载均衡,容错等,并通过Apache httpd(mod_cluster)和JBoss构架高可用集群环境,我们这里在原有的环境中将mod_cluster换成mod_jk,其架构如下图所示:.

\(^_^)/ Jboss资料

- - 编程语言 - ITeye博客
官网: http://www.jboss.org/. 下载: http://www.jboss.org/jbossas/downloads/. Jboss博客: http://jbosscn.iteye.com/. 中赢网Jboss: http://www.chinawin.net/tag/jboss/.

JBoss发布Hibernate 4.0

- - InfoQ cn
近日, JBoss发布了流行的对象/关系(O/R)映射框架 Hibernate. Hibernate 4主要的新特性如下所示:. 引入了“Services”API. 提供了更棒的日志,支持 i18n与消息编码(通过JBoss Logging而非 slf4j). 为 OSGi支持做好了准备.

JBoss AS 7性能调优(四)

- - CSDN博客系统运维推荐文章
 原文: http://www.mastertheboss.com/jboss-performance/jboss-as-7-performance-tuning/page-5. 记录日志是每一个应用程序的一个重要任务,默认的配置一般只适合开发,但不适用于生产环境. 您切换到生产环境时需要考虑的关键要素是:.

[译]jboss漏洞利用

- - 互联网 - ITeye博客
原文地址:http://resources.infosecinstitute.com/jboss-exploitation/. JBoss Application Server是一个基于Jave EE的web应用服务器. 如果Jboss没有正确配置,它会允许攻击者进行各种恶意攻击. 由于JMX console可以通过端口8080远程访问,攻击者和恶意用户可以通过使用Jboss console中的DeploymentScanner功能部署他们自己的WAR(web archive)文件或shell脚本.

JBoss AS 7性能调优(二)

- - CSDN博客系统运维推荐文章
建立与DBMS的JDBC连接过程可能是相当缓慢的. 如果您的应用程序需要反复打开和关闭数据库连接,这可以成为一个显著的性能问题. 在JBoss AS中数据源的连接池提供了一种有效的解决该问题的方法. 要强调的是,当客户端关闭一个数据源的连接时,该连接返回到池中,这样可用于其它的客户端,因此,连接本身并没有关闭.

JBoss AS 7性能调优 (一)

- - CSDN博客系统运维推荐文章
原文: http://www.mastertheboss.com/jboss-performance/jboss-as-7-performance-tuning. 虽然许多架构师和软件工程师都同意,约70-80%的应用程序的性能取决于应用程序本身的编码,配置不当的服务器环境可以显著影响你的用户体验,并最终影响到你的应用程序性能.

JBoss AS 7性能调优(三)

- - CSDN博客系统运维推荐文章
原文: http://www.mastertheboss.com/jboss-performance/jboss-as-7-performance-tuning/page-4. 还有很多需要调优的地方最终影响Web服务器的性能,其中一个最重要的因素是调优HTTP线程池设置,以匹配web请求的负载.

JBoss AS 7.1全面兼容Java EE 6 Full Profile

- - InfoQ cn
上周发布了 JBoss AS 7.1,这是首款全面兼容Java EE 6 Full Profile的JBoss服务器,继Apache Geronimo和Oracle GlassFish之后,成为了 又一款全面兼容Java EE 6 Full Profile的开源服务器. 去年,JBoss AS 7.0完成了 Java EE 6 Web Profile认证,但Full Profile中还额外包含Java Message Service、WebServices和多项管理技术.

【转】 JBOSS最大连接数配置和jvm内存配置

- - 研发管理 - ITeye博客
一.调整JBOSS最大连接数.. 配置deploy/jboss-web.deployer/server.xml文件 . maxThreads:表示最多同时处理的连接数. 应该将线程数(最大线程数)设置比最大预期负载(同时并发的点击)多25%(经验规则). acceptCount:当同时连接的人数达到maxThreads时,还可以接收排队的连接.