<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
apache<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />2.2.4
mod_jk-apache-2.2.4.so
jboss-5.1.0.GA(jboss-5.1.0.GA-jdk6.zip)
相关安装文件自行下载。
为了体现出负载均衡的效果,可以在机器中安装虚拟机Vmware来展示效果。本人使用Vmware5.0操作,虚拟机中同样安装winxp专业版。主机和客机之间可通过飞秋软件来传递文件。为了避免与本机软件冲突,建议在虚拟机中安装apache,安装完成后,需启动http服务。方法如下:
双击“本地连接”=》属性=》高级=》设置=》高级=>选择“本地连接”,点击右侧“设置”=》选择“WEB服务器(HTTP)”确定即可。
如果局域网中使用代理服务器,注意在主机的“局域网设置=》代理服务器”设置中添加例外地址。
首先,编辑 apache的conf/httpd.conf 文件,保证apache加载jk_mod文件,在文件中加入下面的代码
Include conf/mod-jk.conf
然后在apache的conf文件夹中创建一个新的文件,名字要和上面的 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
# 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>   
 
这里注意这句话,要把你下载的mod_jk的文件拷贝到 apache安装目录的modules/下 名字要和mod_jk.so一致
LoadModule jk_module modules/mod_jk.so
 
然后,我们在apache安装目录下的conf/创建uriworkermap.properties文件,来配置哪些请求由JK处理哪些请求让APACHE处理,再文件中加入下面的代码
/jmx-console=loadbalancer
/jmx-console/*=loadbalancer
/web-console=loadbalancer
/web-console/*=loadbalancer
 
然后在apache安装目录下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=192.168.1.188
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= 192.168.1.100
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
上述代码中:
   port是配置JBoss AJP所监听的端口号,可以在%JBoss_Home%\server\default\deploy\jbossweb.sar\server.xml 看到,如下
<!-- A AJP 1.3 Connector on port 8009 -->
<Connector port="8009" address="${jboss.bind.address}"
         emptySessionPath="true" enableLookups="false"
         redirectPort="8443" protocol="AJP/1.3"/>
     
   host定义JBoss所在机器的IP地址
   lbfactor定义该节点的权重,数字越大分发到该节点的request越多
   cachesize是servlet线程池的大小(对session复制有影响)
             
到此 JK_mod 的配置就完成了,下面配置JBOSS的,这里注意这里文档说的有些问题,因为JBOSS-5.0.0GA的目录有些变化文档上说的是下面的路径
JBOSS_HOME/server/all/deploy/jboss-web.deployer/server.xml
但正确的应该是
JBOSS_HOME/server/all/deploy /jbossweb.sar/server.xml
配置修改如下:注意这里面的jvmRoute="node1"的名字要和jk_mod里面的一致否则会有问题
<Engine name="jboss.web" defaultHost="localhost" jvmRoute="node1">
... ...
</Engine>
 
到这里JBOSS的基本配置就完成了,JBOSS-5.0.0GA的session共享是默认的配置的
只要在你的APPLICATION工程中加入下面的代码就可以
<?xml version="1.0"?>
<web-app  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"
          version="2.4">
   
               <distributable/>
           
    <!-- ... -->
</web-app>
这里还要注意一点:是JMS的ServerPeerId不能一样,否则启动时会报错,但不影响集群的正常运行(除JMS外)
要修改JBOSS_HOME/server/all/deploy/messaging/messaging-service.xml文件中的ID,要求是数字并且保证集群中每个JBOSS的ID不一样
<!-- The unique id of the server peer - in a cluster each node MUST have a unique value - must be an integer -->
      <attribute name="ServerPeerID">${jboss.messaging.ServerPeerID:0}</attribute>
启动的JBOSS
run -c all -b 192.168.2.100 注意IP地址要和JK_MOD配置的一致
 
我把我写的简单的测试放入到附件中(将test文件夹放入jboss-5.1.0.GA\server\all\deploy\ROOT.war路径下即可),测试的时候先打开一个node1 做登陆,然后启动第二个node2 然后停掉node1 还是登陆状态 http://localhost/test/index.jsp。
JBOSS的配置 缺少了集群的hot-deploy 因为JBOSS5里面已经没有farm service 了,找了很多文档,没有找到解决的办法,希望和大家共同研究。

转载于:https://blog.51cto.com/jxwpx/213145

JBOSS 5.0.0GA的集群搭建相关推荐

  1. hadoop-2.4.0完全分布式集群搭建

    2019独角兽企业重金招聘Python工程师标准>>> 1.配置hosts 各linux版本hosts文件位置可能不同,redhat是在 /etc/hosts,编辑之: 172.17 ...

  2. ProxmoxVE7.0+Ceph15.2集群搭建

    说明:ProxmoxVE7.0私有云平台搭建:51blog(参考文献) (在7.0中Ceph Octopus 15.2 仍受支持相比6.2参考:ProxmoxVE中文论坛) (以下项目均在Exsi平台 ...

  3. Hadoop2.0高可用集群搭建【保姆级教程】

    搭载Hadoop2.0高可用集群 说明 准备 下载好所需要的文件 目录准备 虚拟机网络配置(可能会在其他文章中讲到) 文件的安装 配置环境变量 环境变量的验证 关闭防火墙 配置Hadoop高可用集群 ...

  4. Redis6.0.4 服务器集群搭建

    实现目标 在一台主机上,搭建一个3主3从的高可用Redis服务器集群. Redis6.0.4安装 参见CentOS7.0安装Redis6.0.4 准备工作 1.在redis安装目录,创建6个文件夹: ...

  5. Spark学习之spark集群搭建

    (推广一下自己的个人主页 zicesun.com) 本文讲介绍如何搭建spark集群. 搭建spark集群需要进行一下几件事情: 集群配置ssh无秘登录 java jdk1.8 scala-2.11. ...

  6. hbase分布式集群搭建

    hbase和hadoop一样也分为单机版.伪分布式版和完全分布式集群版本,这篇文件介绍如何搭建完全分布式集群环境搭建. hbase依赖于hadoop环境,搭建habase之前首先需要搭建好hadoop ...

  7. RocketMQ集群搭建-4.2.0版本

    首发于我的博客: www.liutf.com/ 首发链接:www.liutf.com/posts/14196- 背景 由于公司内部用的RocketMQ消息中间件是个单点实例,随着业务发展,越来越多的应 ...

  8. Spark-1.4.0集群搭建

    主要内容 Ubuntu 10.04 系统设置 ZooKeeper集群搭建 Hadoop-2.4.1集群搭建 Spark 1.4.0集群搭建 假设已经安装好Ubuntu操作系统 Ubuntu 10.04 ...

  9. Hadoop-2.8.0集群搭建、hadoop源码编译和安装、host配置、ssh免密登录、hadoop配置文件中的参数配置参数总结、hadoop集群测试,安装过程中的常见错误

    25. 集群搭建 25.1 HADOOP集群搭建 25.1.1集群简介 HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起 HDFS集群: 负责海量数据 ...

最新文章

  1. Java 多线程的基本方式
  2. windows_硬盘上设置虚拟内存
  3. 如何为你的代码选择一个开源协议
  4. 重磅 | 吴恩达新书《Machine Learning Yearning》最新版分享
  5. OpenCV场景重建
  6. 判断对象存活方法及回收方法
  7. java 课后习题 温度转换
  8. Innodb中的buffer poll和redo undo log
  9. C Primer Plus 第9章 函数 9.4 多源代码文件程序的编译
  10. win7倒计时桌面小工具_这些小工具,彻底解放了我的电脑桌面
  11. NOIP前夕:noi.openjudge,滑雪
  12. java编写人机聊天_无聊 写了个人机对话的小程序 哈哈!
  13. Openstack Fuel 9.0安装后网卡设置
  14. 深度讲解 Python 四大常用绘图库的“绘图原理”
  15. SQL Server 2005数据库可疑、置疑修复方法
  16. SQLite的主键外键
  17. 股市里的定律-福克兰定律
  18. 无法查看别的计算机,雨林木风win7网上邻居看不到别的电脑的解决教程
  19. android bmob上传图片,Bmob+Android+ECharts 实现移动端数据上传与图表展示
  20. 手持式超声波气象站旱作节水灌溉

热门文章

  1. Create a restful application with AngularJS and CakePHP (I)
  2. 黑马程序员--java基础知识注意点收录
  3. 需要使用Git branch switch 的情况Git stash的使用时机
  4. mac 电脑 eclipse 启动停在 org.eclipse.debug.core 导致无法启动
  5. 设计模式的皇后-观察者模式
  6. LOJ 2339 「WC2018」通道——边分治+虚树
  7. easyui---基础组件:window
  8. 利于前台开发的两大工具flex和vue
  9. topcoder srm 525 div1
  10. KVM虚拟化下使用virsh shutdown命令无法关闭windows