




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Jboss集群负载均衡器配置 (红字体为要注意的地方)本例所使用的Apache+Jboss集群所使用的软件版本如下:jboss.4.0.5.GAjdk-1_5_0_12mod_jk-1.2.23Apache2.2.4jems-installer-1.2.0.GA先安装apache,然后配置mod_jk模块。安装apache下载apache代码包,上传到服务器。解开代码包 tar xfvz httpd-2.2.4.tar.gz编译./configure prefix=/usr/local/apache2 make cleanmakemake install修改配置。提供服务的监听端口是8080,请根据实际情况修改。vi /usr/local/apache2/conf/httpd.conf将Listen 80 改成Listen 8080将User daemon和Group daemon 改为 User apache和Group apache删除ServerName前的# 将该行改为 ServerName :8080添加用户和用户组groupadd apacheuseradd apache g apacheapache mod_jk配置下载mod_jk,将其改名为mod_jk.so,拷贝到/usr/local/apache2/modules下chmod +x /usr/local/apache2/modules/mod_jk.so 在 /usr/local/apache2/conf/httpd.conf 的末尾增加: Include conf/mod_jk.conf建立空文件 /usr/local/apache2/conf/perties vi /usr/local/apache2/conf/mod_jk.conf 输入以下内容: _# Load mod_jk module# Specify the filename of the mod_jk libLoadModule jk_module modules/mod_jk.so# Where to find pertiesJkWorkersFile conf/perties# Where to put jk logs JkLogFile logs/mod_jk.log# Set the jk log level debug/error/infoJkLogLevel info# Select the log formatJkLogStampFormat “%a %b %d %H:%M:%S %Y”# JkOptions indicates to send SSK KEY SIZEJkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories# JkRequestLogFormatJkRequestLogFormat “%w %V %T”# Mount your applicationsJkMount /* 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/*=loadbalancerJkMountFile conf/perties# 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 properlyJkShmFile logs/jk.shm# Add jkstatus for managing runtime dataJkMount statusOrder deny,allowDeny from allAllow from _vi /usr/local/apache2/conf/perties,增加以下内容:_# Define list of workers that will be used# for mapping requestsworker.list=loadbalancer,status# Define Node1# modify the host as your host IP or DNS name. worker.node1.port=8009 -这个地方需要注意,不是Jboss节点的http端口,而是Jboss节点的ajp端口worker.node1.host=9worker.node1.type=ajp13worker.node1.lbfactor=1# Define Node2# modify the host as your host IP or DNS name.worker.node2.port=8009worker.node2.host= 8worker.node2.type=ajp13worker.node2.lbfactor=1# Load-balancing behaviourworker.loadbalancer.type=lbworker.loadbalancer.balance_workers=node1,node2worker.loadbalancer.sticky_session=1#worker.list=loadbalancer# Status worker for managing load balancerworker.status.type=status_说明:worker.node1.host、worker.node2.host和worker.node3.host要改成jboss集群各机器的实际IP.如果有更多的节点,顺序定义更多的node段,并在worker.loadbalancer.balance_workers后全部列出.lbfactor是负载分配权重,值越大分配的负载越多.配置apache自动启动ln s /usr/local/apache2/bin/apachectl /etc/init.d/apachechmod 777 /etc/init.d/apacheln s /etc/init.d/apache /etc/rc3.d/S80apacheln s /etc/init.d/apache /etc/rc3.d/K20apacheln s /etc/init.d/apache /etc/rc4.d/S80apacheln s /etc/init.d/apache /etc/rc4.d/K20apacheln s /etc/init.d/apache /etc/rc5.d/S80apacheln s /etc/init.d/apache /etc/rc5.d/K20apacheJboss集群节点配置在集群的各节点上,先安装JDK,然后安装配置Jboss。安装JDKchmod +x jdk-1_5_0_12-linux-i586-rpm.bin./jdk-1_5_0_12-linux-i586-rpm.bin根据提示安装。设置Java路径。vi /etc/profile,在结尾增加:JAVA_HOME=/usr/java/jdk1.5.0_12CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarPATH=.:$JAVA_HOME/bin:$PATHexport JAVA_HOME CLASSPATH PATH用JDK代替Redhat Linux AS4预装的gcj:cd /usr/binln -s -f /usr/java/jdk1.5.0_12/bin/javaln -s -f /usr/java/jdk1.5.0_12/bin/javac执行 java version ,显示以下信息表示jdk正确安装:java version “1.5.0_12Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_12-b04)Java HotSpot(TM) Client VM (build 1.5.0_12-b04, mixed mode, sharing)安装Jboss (注:如果解压缩版本。可直接拷贝到目录中配制)下载jboss-4.0.5.GA和jems-installer,并上传到服务器。完整安装Jboss 4.0.3sp1到4.0.5.GA各版本,必须使用jems-installer和JDK 1.5。Jboss可以采用图形方式和命令行方式安装。图形方式安装方便,但要求服务器安装X windows,且在服务器上操作或使用支持x windows的远程终端(比如xmanager).图形方式在x windows的终端窗口下,执行java jar jems-installer-1.2.0.GA.jar,出现Jboss安装图形界面。选择“中文”。下一步。同意协议。安装路径设置为/usr/local/jboss,下一步。选择”all”,下一步。选择”advance”,把Name由default改为all.其余直接按下一步。输入Admin密码,下一步。等待安装结束,完成。命令行方式 (java -jar jems-installer-1.2.0.GA.jar -installGroup all installpath=/usr/local/jbossmv /usr/local/jboss/server/default /usr/local/jboss/server/all) (灰体部份可略)配置Jboss加入环境变量: vi /etc/profile在文件最后处加入: JBOSS_HOME=/usr/local/jboss PATH=$PATH:$JBOSS_HOME/bin export JBOSS_HOME export PATH保存文件, 用命令 source /etc/profile 使环境变量生效修改配置。本例中,提供服务的监听端口是8888,请根据实际情况修改。(server.xml文件如果改动不当,会启动不了端口)vi /usr/local/jboss/server/all/deploy/jbossweb-tomcat55.sar/server.xml找到 Connector port=8080 address=$ (如果外部不可以通过web浏览器访问jboss,则要改成)找到 注意,jvmRoute是节点号,要与在apache的perties中的定义相对应.vi /usr/local/jboss/server/all/deploy/ jboss-web.deployer /META-INF/jboss-service.xml找到UseJK,改为true. 配置jboss自动启动cp /usr/local/jboss/bin/jboss_init_redhat.sh /etc/init.d/jbosschmod 777 /etc/init.d/jbossln s /etc/init.d/jboss /etc/rc3.d/S80jbossln s /etc/init.d/jboss /etc/rc3.d/K20jbossln s /etc/init.d/jboss /etc/rc4.d/S80jbossln s /etc/init.d/jboss /etc/rc4.d/K20jbossln s /etc/init.d/jboss /etc/rc5.d/S80jbossln s /etc/init.d/jboss /etc/rc5.d/K20jboss修改文件:vi /etc/init.d/jboss将JBOSS_HOME 一行改为 JBOSS_HOME=$JBOSS_HOME:-”/usr/local/jboss”将JBOSS_USER 一行改为 JBOSS_USER=$JBOSS_USER:-”root”将JAVAPTH 一行改为 JAVAPTH=$JAVAPTH:-”/usr/java/jdk1.5.0_12将JBOSS_CONF 一行改为 JBOSS_CONF=$JBOSS_CONF:-”all”将JBOSSSH 一行改为 JBOSSSH=$JBOSSSH:-”$JBOSS_HOME/bin/run.sh -c $JBOSS_CONF”将eval $JBOSS_CMD_START $JBOSS_CONSOLE 2&1 & 改为 eval $JBOSS_CMD_START $JBOSS_CONSOLE &将$SUBIT “$JBOSS_CMD_START $JBOSS_CONSOLE 2&1 &” 改为 $SUBIT “$JBOSS_CMD_START $JBOSS_CONSOLE &”启动Jboss集群先启动负载均衡器apache,然后启动各jboss节点。各jboss节点的启动顺序没有要求。启动负载均衡器apache在/usr/local/apache2/bin目录下执行./httpd k start (终止命令: ./httpd k stop) -以这中方式启动有可能会报错,建议用如下方法启动apache:/usr/local/apache2/bin/apachectl -k start 停止: /usr/local/apache2/bin/apachectl -k stop在/usr/local/apache2/logs/mod_jk.log中,看到apache初始化mod_jk的日志:Wed Aug 01 10:36:11 20076636:63168 info init_jk:mod_jk.c (2743): mod_jk/1.2.23 initializedWed Aug 01 10:36:11 20076637:63168 info init_jk:mod_jk.c (2743): mod_jk/1.2.23 initialized后面如有错误信息,是因为集群中的节点尚未启动,暂时忽略。用netstat检查8080监听端口存在,apache启动成功. (netstat -an | grep 8080)启动Jboss节点在集群各机器的/usr/local/jboss/bin,分别执行/run.sh c all (终止命令: ./shutdown.sh S)用netstat检查8888端口监听存在.用浏览器访问各节点的8888端口,能够看到jboss的状态.Jboss启动成功.集群的生命期apache能够自动发现新启动的Jboss节点。当第一个Jboss节点启动后,自动创建Jboss集群。然后依次将其他节点加入到集群中。现在访问http:/IP:端口,能够看到jboss的状态.说明请求已经被转发到Jboss节点。集群启动成功。apache能够监视集群中各节点的状况,自动从集群中去掉无法访问的节点,从而保证每个请求都被响应。当集群的全部节点都停止工作,集群消亡。集群的缺陷和粘着session截止到现在,Jboss集群工作得很完美,除了session。目前配置的Jboss集群中,各节点是被动的、相互独立的,相当于增加了节点状态检测的DNS轮询,所以session也是相互独立的。当同一用户的2个请求被转发到不同的Jboss节点上时,会出现session信息假”丢失”的现象。为此,Jboss提出粘着session(sticky session)概念。设置为使用粘着session后,来自同一IP的请求将被发送到同一个Jboss节点,从而保证session使用的连续性。如果应用中没有使用session,则可以使用非粘着session的jboss集群。这样,负载分布更为合理。设置方法是编辑负载均衡器的/usr/local/apache2/conf/perties的worker.loadbalancer.sticky_session。设置为1使用粘着session,设置为0不使用粘着session。使用粘着session还存在一种隐患,当某个节点发生故障时,该节点的session将全部丢失。要彻底解决这个问题,就要用到jboss session复制。Jboss集群session复制原理jboss session复制是jboss session同步的一种实现。原理是在各Jboss节点间建立横向联系,每个节点都将本节点的session变化同步到其他所有节点上。jboss的session复制与HTTP集群是相互配合、相互独立的两个系统。session复制是节点间的横向联系,HTTP集群是负载均衡器与节点的纵向联系。配置Jboss节点vi /usr/local/jboss/server/all/deploy/jboss-web-cluster.sar /META-INF/jboss-service.xml找到到全部注释掉. jboss session复制有UDP和TCP两种方式. UDP采用多播方式,但问题比较多, 所以采用TCP方式。找到 tcp, 将到生效 . 并对该部分进行以下修改: 将全部down_thread和up_thread的false都改为 true. 在tcp bind_addr=”后填入本机的IP 在tcpping initial_hosts=”后填入本机和集群其他全部Jboss节点的IP7810,比如其他参数还包括:ClusterName是集群名称,比如partition1.在同一局域网内,可以存在多个jboss集群,根据集群名称区分它们.所以,集群中各节点配置的集群名称必须一致,而机器IP则没有特殊要求,只要它们能相互连通. 理论上,可以在一台机器上安装多个Jboss实例,分属于不同的集群.但这会极大地增加复杂度,是不好的配置方式.IsolationLevel是隔离等级.可选值包括:SERIALIZABLE, REPEATABLE_READ, READ_COMMITTED, READ_UNCOMMITTED, 和 NONE。这里的隔离级别和数据库的隔离级别有同样的含义,对于大多数WEB应用程序来讲通常设置为REPEATABLE_READ。CacheMode是缓存模式。由于session复制是通过缓存实现的,所以实际上是复制模式.可选值包括:REPL_SYNC 和REPL_ASYNC,确定改变是应该同步还是异步复制。缺省值是REPL_ASYNC.使用同步复制,确保在请求完成之前传播改变,session同步没有滞后,但效率低。配置应用程序在应用程序的web.xml的段中增加。在jboss-web.xml中增加以下内容:SET_AND_NON_PRIMITIVE_GETSESSIONJboss集群 测试测试文件存放目录为:(其中要注意启动的是哪个用户) /usr/local/jboss/server/all/deploy/jboss-web.deployer/ROOT.war/以上为使用Mod_jk做负载均衡和配置jboss Session复制的全过程,下面介绍的是另外几种方式实现的负载均衡:方法二:配置Apache作为LoadBalance 将Apache作为LoadBalance前置机分别有三种不同的部署方式。进入Apache的conf目录,打开httpd.conf文件,在文件的末尾加入:一轮询均衡策略的配置 ProxyPass / balancer:/proxy/ (注意这里以/结尾,并根据实际情况更改IP地址及端口) BalancerMember 7:6888/ BalancerMember 8:6888/ 二按权重分配均衡策略的配置 ProxyPass / balancer:/proxy/ BalancerMember 7:6888/ loadfactor=3 BalancerMember http:/192
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物联网服务合同范本
- 餐饮正规加盟合同范本
- 养殖鱼苗购销合同范本
- 减水剂代理合同范本
- 工装集成吊顶合同范本
- 年产24万吨环保粘合剂及1000吨锂电池正极粘结剂配套溶剂新建项目可行性研究报告模板-立项备案
- 深圳房东租房合同范本
- 转让电厂锅炉合同范本
- j借贷押金合同范本
- 公司林木购销合同范本
- 骨质疏松诊治与中医药
- LY/T 2383-2014结构用木材强度等级
- GB/T 528-2009硫化橡胶或热塑性橡胶拉伸应力应变性能的测定
- GB/T 4950-2021锌合金牺牲阳极
- 中日关系历史
- GB/T 15171-1994软包装件密封性能试验方法
- 2023年江苏省中学生生物学竞赛(奥赛)初赛试题和答案
- 信息系统运维服务方案
- 化工试生产总结报告
- 导数与原函数的对称性 微专题课件-2023届高三数学一轮复习
- DB32-T 3129-2016适合机械化作业的单体钢架塑料大棚 技术规范-(高清现行)
评论
0/150
提交评论