RedHat下搭建Tomcat集群

2024-05-13 14:58
文章标签 集群 tomcat 搭建 redhat

本文主要是介绍RedHat下搭建Tomcat集群,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、软件准备

RedHat:RedHat Enterprise Linux6.0

Apache Httpd Server:httpd-2.2.24.tar.gz 下载地址:http://httpd.apache.org/download.cgi

Tomcat:apache-tomcat-6.0.35.zip 下载地址:http://tomcat.apache.org/download-60.cgi

Apache Tomcat Connector:tomcat-connectors-1.2.37-src.tar.gz 下载地址:http://tomcat.apache.org/download-connectors.cgi

2、安装Apache Httpd Server

关于Apache Httpd Server的安装此处略过,参见 Red Hat Enterprise Linux 6下安装Apache Httpd Server
3、安装Apache Tomcat Connector

解压源文件

tar -xzvf tomcat-connectors-1.2.37-src.tar.gz

进入源码目录

cd tomcat-connectors-1.2.37-src/native/

编译和安装

./buildconf.sh

./configure --with-apxs=/usr/local/apache2/bin/apxs --with-java-home=$JAVA_HOME --with-java-platform=2 --enable-jni

make


 

安装成功之后进入cd /usr/local/apache2/modules/目录下,可以看到mod_jk.so文件


4、Tomcat安装及配置

Tomcat存放目录 /usr/local/

tomcat-6.0.35_1、tomcat-6.0.35_2

修改tomcat-6.0.35_1的端口配置信息server.xml

开启Tomcat集群支持server.xml

此处增加jvmRoute="tomcat1",这里的tomcat1值要和后面workers.properties值保持一致,建议的命名是从tomcat1开始增加

在<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1"> </Engine>之间增加关于集群的配置。

Tomcat提供了一份默认的配置,可以参考如下地址:

http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html

我们可以直接使用Tomcat提供的默认配置来进行实验,但有一点需要注意

官方提供的address="auto",如果在虚拟机中进行实验的话需要进行修改一下,把地址修改为localhost或自己机器的ip地址就可以,不然启动时会报错误。

附:完整的cluster配置如下


<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"

channelSendOptions="8">

<Manager className="org.apache.catalina.ha.session.DeltaManager"

expireSessionsOnShutdown="false"

notifyListenersOnReplication="true"/>

<Channel className="org.apache.catalina.tribes.group.GroupChannel">

<Membership className="org.apache.catalina.tribes.membership.McastService"

address="228.0.0.4"

port="45564"

frequency="500"

dropTime="3000"/>

<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"

address="localhost"

port="4000"

autoBind="100"

selectorTimeout="5000"

maxThreads="6"/>

<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">

<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>

</Sender>

<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>

<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>

</Channel>

<Valve className="org.apache.catalina.ha.tcp.ReplicationValve"

filter=""/>

<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>

<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"

tempDir="/tmp/war-temp/"

deployDir="/tmp/war-deploy/"

watchDir="/tmp/war-listen/"

watchEnabled="false"/>

<ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>

<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>

</Cluster>

修改tomcat-6.0.35_2的端口配置信息server.xml


5、配置Apache Httpd Server

cd /usr/local/apache2/conf/

修改配置文件httpd.conf在文件末尾增加如下配置信息

# Load mod_jk module

LoadModule jk_module modules/mod_jk.so

# Specify jk log file.

JkLogFile /var/log/mod_jk.log

# Specify jk log level [debug/error/info]

JkLogLevel info

# Specify workers.properties, this file tell jk:

# how many nodes and where they are.

JkWorkersFile conf/workers.properties

# Specify which requests should handled by which node.

JkMount /* controller

参考地址:http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html

在Apache配置文件夹下增加一个配置文件workers.properties


文件内容如下:


worker.list=controller,tomcat1,tomcat2

#========tomcat1========

worker.tomcat1.port=8009

worker.tomcat1.host=localhost

worker.tomcat1.type=ajp13

worker.tomcat1.lbfactor=1

#========tomcat2========

worker.tomcat2.port=8109

worker.tomcat2.host=localhost

worker.tomcat2.type=ajp13

worker.tomcat2.lbfactor=1

#========controller,负载均衡控制器========

worker.controller.type=lb

worker.controller.balance_workers=tomcat1,tomcat2

worker.controller.sticky_session=1

#sticky_session为1表示


到此为止关于集群已经搭建好了基本环境

如果要让应用程序支持集群,需要在做如下两点:

  1. 在应用程序web.xml文件中需要加入:<distributable/>元素。

  2. Session中存放的数据(如attribute)需要实例序列化。


所使用的Tomcat及Web项目: 下载

这篇关于RedHat下搭建Tomcat集群的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/986026

相关文章

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

HDFS—集群扩容及缩容

白名单:表示在白名单的主机IP地址可以,用来存储数据。 配置白名单步骤如下: 1)在NameNode节点的/opt/module/hadoop-3.1.4/etc/hadoop目录下分别创建whitelist 和blacklist文件 (1)创建白名单 [lytfly@hadoop102 hadoop]$ vim whitelist 在whitelist中添加如下主机名称,假如集群正常工作的节

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

pico2 开发环境搭建-基于ubuntu

pico2 开发环境搭建-基于ubuntu 安装编译工具链下载sdk 和example编译example 安装编译工具链 sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib 注意cmake的版本,需要在3.17 以上 下载sdk 和ex

详解Tomcat 7的七大新特性和新增功能(1)

http://developer.51cto.com/art/201009/228537.htm http://tomcat.apache.org/tomcat-7.0-doc/index.html  Apache发布首个Tomcat 7版本已经发布了有一段时间了,Tomcat 7引入了许多新功能,并对现有功能进行了增强。很多文章列出了Tomcat 7的新功能,但大多数并没有详细解释它们

Tomcat性能参数设置

转自:http://blog.csdn.net/chinadeng/article/details/6591542 Tomcat性能参数设置 2010 - 12 - 27 Tomcat性能参数设置 博客分类: Java Linux Tomcat 网络应用 多线程 Socket 默认参数不适合生产环境使用,因此需要修改一些参数   1、修改启动时内存参数、并指定J

一种改进的red5集群方案的应用、基于Red5服务器集群负载均衡调度算法研究

转自: 一种改进的red5集群方案的应用: http://wenku.baidu.com/link?url=jYQ1wNwHVBqJ-5XCYq0PRligp6Y5q6BYXyISUsF56My8DP8dc9CZ4pZvpPz1abxJn8fojMrL0IyfmMHStpvkotqC1RWlRMGnzVL1X4IPOa_  基于Red5服务器集群负载均衡调度算法研究 http://ww

TL-Tomcat中长连接的底层源码原理实现

长连接:浏览器告诉tomcat不要将请求关掉。  如果不是长连接,tomcat响应后会告诉浏览器把这个连接关掉。    tomcat中有一个缓冲区  如果发送大批量数据后 又不处理  那么会堆积缓冲区 后面的请求会越来越慢。