(内容比较多但是慢慢的一步一步来,还是会成功的)
集群部署方案
1. 概述
集群系统是一群松散结合的服务器组,形成一个虚拟的服务器,为客户端用户提供统一的服务。本文档是针对portal web级集群的解决方案,web层集群技术包括:Web负载均衡和HTTPSession失效转移。本方案采用tomcat集群+ Apache负载均衡来实施。
2. 系统环境
操作系统:SUSE 64-bit x86(本过程在window下同样适用)
服务器:两台,IP地址分别为192.168.42.85和192.168.42.8。
3. 软件清单
1) httpd-2.2.17.tar.gz
2) jdk-6u10-linux-x64
2)apache-tomcat-6.0.26.tar.gz
3)tomcat-connectors-1.2.31-src.tar.gz
4. 构建系统目标
集群部署目标:在两台服务器上各开一个tomcat实例,形成由多个tomcat组成的集群,部署的应用实现session复制。
Apache负载均衡:实现前端代理,为多个tomcat进行负载均衡。
5. 安装JDK、配置环境变量(略)
rpm -ivh xxx.rpm
会显示License信息,按空格键翻页,输入[yes]同意,继续安装。
安装完成后会在/usr/下建立/usr/jdk1.6.0_01目录。
3.设置jdk环境变量
设置系统全局环境变量:
最简单的办法就是编辑/ect/profile,在文件最后的
#
# End of /etc/profile
#
上面添加如下内容:
export JAVA_HOME=/usr/java/jdk1.6.0_18
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$PATH
在linux系统中可用vi编辑器修改文件,修改完保存退出,然后注销系统,再登录,环境变量便生效了。
查看当前环境变量:
echo $JAVA_HOME
6. 安装Apache
1、 安装Apache服务器到物理机器一(假设IP为192.168.42.85),安装路径为
/opt/apache
2、 在/opt/apache目录下解压httpd-2.2.17.tar.gz
tar zxvf httpd-2.2.17.tar.gz
3、 进入解压目录
cd httpd-2.2.17
4、 配置apache的安装目录
./configure --prefix=/opt/apache2
5、 编译apache安装文件
make
6、 安装apache
make install
7、 修改apache端口
因为apache默认使用80端口,如果服务器的默认端口80被占用,需要通过apache配置文件来修改端口号,具体步骤如下所示:
1) 进入/opt/apache/conf目录
cd /opt/apache/conf
2) 打开httpd.conf文件
vi httpd.conf
3) 将端口号修改为8001,需要将apache默认配置Listen 80修改为Listen 8001
8、 启动、重启、停止apache
启动命令
/opt/apache/bin/httpd –k start
或者
cd /opt/apache/bin
./httpd –k start
重启apache
/opt/apache/bin/httpd –k restart
或者
cd /opt/apache/bin
./httpd –k restart
停止apache
/opt/apache/bin/httpd –k stop
或者
cd /opt/apache/bin
./httpd –k stop
9、 Apache启动成功后,访问http://192.168.42.85:80,页面出现“It works!”标示启动成功。
7. 生成mod_jk.so文件
1、 在安装apache的同一台机器的/opt/jk目录下解压tomcat-connectors-1.2.31-src.tar.gz
tar zxvf tomcat-connectors-1.2.31-src.tar.gz
2、进入解压后的native目录
cd tomcat-connectors-1.2.31-src/native
3、 配置源码,指定Apache中的apxs程序的路径
./configure --with-apxs=/opt/apache2/bin/apxs
4、 编译
make
5、 进入apache2.0目录下,将新生成的mod_jk.so文件拷贝到apache安装目录的modules目录下
cd apache-2.0
cp mod_jk.so /opt/apache2/modules
6、 apache加载mod_jk.so文件
进入配置文件所在目录
cd /opt/apache/conf
打开apache配置文件
vi httpd.conf
在配置文件中添加如下信息
LoadModule jk_module modules/mod_jk.so
8. 安装、配置tomcat
1、 安装tomcat服务器到物理机器一(假设IP为192.168.42.85)、物理机器二(假设IP为192.168.42.8),两台机器上的安装路径都为/opt/portal
2、 在/opt/portal目录下解压tomcat
tar zxvf apache-tomcat-6.0.29.tar.gz
3、 进入tomcat解压后的conf目录,打开server.xml配置文件
cd apache-tomcat-6.0.29/conf
vi server.xml
4、 如果两个以上tomcat部署在同一台服务器上,则需要修改该tomcat的关闭端口、connector端口、ajp端口,如果是集群的tomcat是部署在不同的服务器上则不需要修改,保持默认端口即可。
5、 在tomcat的server.xml文件中找到AJP 1.3 Connector,<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />,这是tomcat接收从Apache过来的ajp连接请求时使用的端口,保留tomcat默认设置,这里为了区分,我们将192.168.42.8机器上tomcat的ajp监听端口改为8089(如果两个tomcat发布在同一台机器上,则需求将其中一个tomcat的8009端口改为其他端口号;如果在不同机器上则不需要更改)。注意,这里的端口对应Apache workers.porpertes中配置的ajp连接端口(如:worker.tomcat1.port = 8009)。
6、 配置引擎,找到<Engine name="Catalina" defaultHost="localhost">,去掉这段或改为注释,把上方紧挨的<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">注释符去掉,将42.85机器上的jvmRoute配置为tomcat1,将42.8上的jvmRoute配置为tomcat2。注意:集群中所有tomcat中的jvmRoute配置都必须唯一。这里的jvmRoute对应Apache workers.properties中balanced_workers中配置的route参数。
7、 找到<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>,打开注释,这里的配置是为了可以在集群中的所有tomcat节点间共享会话(