tomgatJDK负载均衡配置.docx
- 文档编号:24118105
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:13
- 大小:416.20KB
tomgatJDK负载均衡配置.docx
《tomgatJDK负载均衡配置.docx》由会员分享,可在线阅读,更多相关《tomgatJDK负载均衡配置.docx(13页珍藏版)》请在冰豆网上搜索。
tomgatJDK负载均衡配置
apache2+tomcat5.5集群
1、原理说明
原理:
tomcat做个WEB服务器有它的局限性,处理能力低,效率低。
承受并发小(1000左右)。
但目前有不少网站或者页面是JSP的。
并采用了tomcat做为WEB,因此只能在此基础上调优。
目前采取的办法是Apache+Mod_JK+tomcat来解决一部分请求,用户访问的是apache,但有jsp页面的时候才会去请求tomcat。
如果量一大,那么tomcat无法承受,那么只能做tomat集群,Apache+Mod_JK就是负载均衡器了。
Mod_JK2负载均衡可以把不同的jsp请求转发到不同的tomcat服务器,还可以侦测服务器存活。
如果有条件可以给Mod_JK2做一个HA因为做完集群后压力就在JK上了。
1.1拓仆图:
2、环境说明
2.1部署需求表
服务器名
IP
系统版本
服务版本
NODE1
192.168.10.1
Linuxas5
Apache2.2.4
Tomcat-connectors
Tomcat5.5(第一台tomcat)
JDK
NODE2
192.168.10.2
Linuxas5
Tomcat5.5(第二台tomcat)
JDK
3、部署步骤
3.1前期准备
3.1.1先安装了所需的程序库
yum-yinstallgccgcc-c++autoconflibjpeglibjpeg-devellibpnglibpng-develfreetypefreetype-devellibxml2libxml2-develzlibzlib-develglibcglibc-develglib2glib2-develbzip2bzip2-develncursesncurses-develcurlcurl-devel
3.1.2下载源码包:
(不安装PHP)
apache2和tomcat5都可以在apache.org下载
tomcat5需要JDK1.5的版本。
JK连接器的源码包tomcat-connectors
3.2Apache部署:
3.2.1安装apache
#tarzxvfhttpd-2.2.8.tar.gz
#cdhttpd-2.2.8
#./configure--prefix=/usr/local/apache2--enable-modules=so--enable-so
#make&&makeinstall
3.2.2apache验证
/usr/local/apache2/bin/apachectrlstart
看到apache就配置成功了。
3.3tomcat部署
3.3.1JDK环境部署
1、JDK的安装
#chmod755jdk-1_5_0_16-linux-i586.bin修改权限
#./jdk-1_5_0_16-linux-i586.bin执行
#mvjdk-1_5_0_16/usr/local/
JDK已经安装完成
2、JDK安装后的配置
到/usr/bin目录下,把原用的java,javac文件删除:
#rm-rfjava
#rm–rfjavac
在/usr/bin下建立软连接java
#ln-s/usr/java/jdk-1_6_0_16/bin/java/usr/bin/java
#ln-s/usr/java/jdk-1_6_0_16/bin/javac/usr/bin/javac
#java–version
#javac-version
javaversion"1.6.0_08"
建立两个软链接:
ln-s/usr/local/jdk-1_5_0_16 /usr/local/jdk
ln-s/usr/local/jdk-1_5_0_16/jre/usr/local/jre
3.3.2tomcat安装
#tar-zxvfapache-tomcat-5.5.27.tar.gz
#mvapache-tomcat-5.5.27/usr/local/tomcat
设置环境变量:
#Set Environment byNetSeek
JAVA_HOME=/usr/local/jdk
exportJAVA_HOME
JRE_HOME=/usr/local/jre
exportJRE_HOME
CLASSPATH=/usr=/usr/local/tomcat/common/lib/:
/usr/local/jdk/lib:
/usr/local/jre/lib
exportCLASSPATH
PATH=$PATH:
/usr/local/tomcat/bin/:
/usr/local/apache/bin:
/usr/local/jdk/bin:
/usr/local/jre/bin
exportPATH
TOMCAT_HOME=/usr/local/tomcat
exportTOMCAT_HOME
3.3.3验证安装结果
启动tomcat以检查是否存在错误:
#cd/usr/local/tomcat/bin
#./startup.sh
http:
//IP地址:
8080可以看到tomcat标志
3.3.4node2部署tomcat
在node2上也安装tomcat,jdk并配置好。
3.4整合apache和tomcat
3.4.1安装jk连接器
#tarzxvftomcat-connectors-1.2.27-src.tar.gz
#cdtomcat-connectors-1.2.27-src/native
#./configure--with-apxs=/usr/local/apache2/bin/apxs--with-java-home=/usr/local/jdk
#make&&makeinstall
在/opt/apache/modules/下会产生mod_jk.so
3.4.2修改apache配置文件:
LoadModulejk_modulemodules/mod_jk.so
JkWorkersFile/usr/local/tomcat/conf/jk/workers.properties JK配置文件
#负载的配置
JkShmFilelogs/mod_jk.shm
JkLogFile/usr/local/tomcat/logs/mod_jk.log 相关日志的设置
JkLogLevelinfo
JkMount/*.jspcontroller 将jsp的请求转发给controller(负载均衡控制器)
3.4.3修改配置文件的网站路径
DoucmentRoot与tomcat的目录一致。
例如修改为:
/usr/local/tomcat/webapps/
3.4.4调度器JK的配置
建立JK配置文件:
#vi/usr/local/tomcat/conf/jk/workers.properties
以下为配置文件内容:
workers.tomcat_home=/usr/local/tomcat
#上面指定tomcat的目录――如果2个tomcat在同一台机器该选项去掉
workers.java_home=/usr/local/jdk #指定jdk的目录
ps=/
worker.list=controller #指定负载名(随便起名)但是要求与
worker.controller.type=lb要对应
#========tomcat1========第一台tomcat的配置
worker.tomcat1.port=8009
worker.tomcat1.host=localhost #这里也可以写IP
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=1 #权数值越大,分配机率越小
#========tomcat2===========
worker.tomcat2.port=8009
worker.tomcat2.host=192.168.19.81(tomcat2的IP)
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=1
#========controller,负载均衡器=======
worker.controller.type=lb
worker.controller.balance_workers=tomcat1,tomcat2
#与server.xml配置文件里的jvmRoute="tomcat1"指定的名字相同
worker.controller.sticky_session=1
3.5tomcat集群配置,session同步配置:
3.5.1node1 (IP:
192.168.10.1)
A、修改Engine节点信息:
B、去掉
C、修改Cluster节点信息
className="org.apache.catalina.cluster.mcast.McastService" mcastBindAddress="192.168.19.199" mcastAddr="224.0.0.1" mcastPort="45564" mcastFrequency="500" mcastDropTime="3000"/> className="org.apache.catalina.cluster.tcp.ReplicationListener" tcpListenAddress="192.168.19.199" tcpListenPort="4001" tcpSelectorTimeout="100" tcpThreadCount="6"/> 3.5.2node2 (IP: 192.168.10.2) A、修改Engine节点信息: B、去掉 C、修改Cluster节点信息 className="org.apache.catalina.cluster.mcast.McastService" mcastBindAddress="192.168.19.81" mcastAddr="224.0.0.1" mcastPort="45564" mcastFrequency="500" mcastDropTime="3000"/> className="org.apache.catalina.cluster.tcp.ReplicationListener" tcpListenAddress="192.168.19.81" tcpListenPort="4001" tcpSelectorTimeout="100" tcpThreadCount="6"/> 修改web应用里面WEB-INF目录下的web.xml文件,加入标签 直接加在之前就可以了 做tomcat集群必须需要这一步,否则用户的session就无法正常使用。 注意事项: 1、mcastAddr="224.0.0.1" 这主广播地址因此需要开启网卡组播功能 routeadd-net224.0.0.0netmask240.0.0.0deveth0 分别在各机器上运行 3.5.3查看端口情况: 在node1node2上 Netstat–antl|grep4001同步监听的端口 3.5.4测试广播: java-cptomcat-replication.jarMCaster224.0.0.145564Terminal1 java-cptomcat-replication.jarMCaster224.0.0.145564Terminal2 如果不报错则能正常广播 tomcat-replication.jar 下载: http: //cvs.apache.org/~fhanik/tomcat-replication.jar 3.6测试集群及session同步 3.6.1在webapps下新建test目录 目录下建WEB-INF目录下的web.xml文件 xmlns: xsi="http: //www.w3.org/2001/XMLSchema-instance" xsi: schemaLocation=" version="2.4"> 3.6.2在webapps建立以下两个代码文件 Print.jsp: <% System.out.println("www.linuxtone.org "); %> test.jsp <%@pagecontentType="text/html;charset=GBK"%> <%@pageimport="java.util.*"%> ServerInfo: <% out.println(request.getLocalAddr()+": "+request.getLocalPort()+" <% out.println(" StringdataName=request.getParameter("dataName"); session.setAttribute("myname","session? "); if(dataName! =null&&dataName.length()>0){ StringdataValue=request.getParameter("dataValue"); session.setAttribute(dataName,dataValue); } out.print("SessionP±? b>"); Enumeratione=session.getAttributeNames(); while(e.hasMoreElements()){ Stringname=(String)e.nextElement(); Stringvalue=session.getAttribute(name).toString(); out.println(name+"="+value+" System.out.println(name+"="+value); } %> û³? ? : 重启所有的服务。 3.6.3访问测试 访问http: //192.168.10.1/test/print.jsp 下图可以看出tomcat集群配置完成 Session复制的查看 在同一窗口,输入名称和值, 在日志可以看到如下结果.这种结果表明成功了 node1 node2 常见错误: skippingstatetransfer.Nomembersactiveinclustergroup." mcastBindAddress没有添加或添加得不对 ? Unknowndefaulthost: ajp13 JK配置不当
");%>
ID"+session.getId()+"
");
");
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- tomgatJDK 负载 均衡 配置