`
huaiyude06
  • 浏览: 28071 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

tomcat+apache+terracotta做集群

阅读更多

使用 apache2.2.4+tomcat6+terracotta2.7.0-stable0 进行集群.

 

1.       <!---->apache2.2.4+tomcat6+ssl 的整合 , 我是使用 mod_JK 整合的 ,mod_JK mod_jk-1.2.26-httpd-2.2.4.so

(1). 安装 apache2.2.4, 我使用的是 apache_2.2.4-win32-x86-openssl-0.9.8d.msi 来安装的 .

(2). 配置 apache.

    先将 mod_jk-1.2.26-httpd-2.2.4.so 复制到 <APACHE_HOME>\modules . 修改 <APACHE_HOME>\conf\httpd.conf 文件 , 加入 :

LoadModule jk_module modules/mod_jk-1.2.26-httpd-2.2.4.so

JkWorkersFile conf/workers.properties

JkLogFile logs/mod_jk.log

JkMount /* loadbalancer

JkMount /*.action loadbalancer

JkMount /*.html loadbalancer
 

 

        <IfModule dir_module> 标签中加入 login.jsp.

 

   为了支持 ssl, 还要去掉 LoadModule ssl_module modules/mod_ssl.so 行的注释和Include conf/extra/httpd-ssl.conf行 的注释 .

  

          <APACHE_HOME>\ conf 目录下创建 workers.properties 文件 , 改文件的配置为 :

       

worker.list=loadbalancer

worker.worker1.type=ajp13 

worker.worker1.host=localhost

worker.worker1.port=9009 

worker.worker1.lbfactor=5

 worker.worker1.redirect=worker2

 worker.worker2.type=ajp13

 worker.worker2.host=localhost

 worker.worker2.port=10009

 worker.worker2.lbfactor=5

 worker.loadbalancer.type=lb

 worker.loadbalancer.balanced_workers=worker1,worker2
 

 

为了支持 ssl 修改 <APACHE_HOME>\conf\extra 目录下的 httpd-ssl.conf 文件 , 修改 certificate file SSLCertificateFile <APACHE_HOME>/conf/blarg.cert, 修改 keyfile SSLCertificateKeyFile <APACHE_HOME>/conf/blarg.key, 还要配置 ssl mod_JK, 加入以下内容到该文件 :

 

 

JkMount /* loadbalancer

JkMount /*.action loadbalancer

JkMount /*.html loadbalancer
 

使用 openssl 工具生成 blarg.cert blarg.key 文件放到 <APACHE_HOME>\conf 目录下 ,apache 部分配置完成 .

 

(3). 安装两个 tomcat 分别是 tomcat-1 tomcat-2, 配置 tomcat-1 tomcat-2.

配置 tomcat-1, 配置 <TOMCAT_HOME>\conf 下的 server.xml, 找到 Server 节点改为

<Server port="9005" shutdown="SHUTDOWN">
 

找到 Http connector 节点改为

<Connector port="9080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="9443" />
 

 找到 ajp connector 节点改为 :

<Connector port="9009" protocol="AJP/1.3" redirectPort="9443" />
 

 加入 ssl connector:

 

<Connector SSLEnabled="true" acceptCount="100"

                            clientAuth="false" disableUploadTimeout="true" enableLookups="true"

                            keystoreFile="server.keystore" keystorePass="changeit"

                            maxSpareThreads="75" maxThreads="200" minSpareThreads="5" port="9443"

                            scheme="https" secure="true" sslProtocol="TLS" />

 

 找到 Engine 节点改为 :

  

 <Engine name="Catalina" defaultHost="localhost" jvmRoute="worker1">,

jvmRoute session_sticky 的关键一定要对应 workers.properties worker .

 

生成 server.keystore 文件放入 <TOMCAT_HOME> .

 

  配置 tomcat-2, 配置 <TOMCAT_HOME>\conf 下的 server.xml, 找到 Server 节点改为

<Server port="10005" shutdown="SHUTDOWN">
 

找到 Http connector 节点改为

<Connector port="10080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="10443" />
 

 找到 ajp connector 节点改为 :

<Connector port="10009" protocol="AJP/1.3" redirectPort="10443" /> 
 

加入 ssl connector:

 

<Connector SSLEnabled="true" acceptCount="100"

                            clientAuth="false" disableUploadTimeout="true" enableLookups="true"

                            keystoreFile="server.keystore" keystorePass="changeit"

                            maxSpareThreads="75" maxThreads="200" minSpareThreads="5" port="10443"

                            scheme="https" secure="true" sslProtocol="TLS" />
 

 找到 Engine 节点改为 :

   

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


 生成 server.keystore 文件放入 <TOMCAT_HOME> .
 

<!---->2.       <!---->整合两个 tomcat6 terracotta

 

我使用的是 terracotta2.7.0-stable0. 因为 terracotta 的官方稳定版本 2.6.2 用在我们项目中是有 bug , 当启动 tomcat 会有 java.lang.NoSUchFieldError:DSO 异常 .

  (1). 安装 terracotta

我使用的安装文件是 terracotta-windows2.7.0-stable0.exe.

生成自己项目的 boot-jar, <TERRACATTA_HOME> \lib\dso-boot 的删除所有 jar 文件 , 然后转到命令行 , 进入 <TERRACATTA_HOME>\bin , 使用以下命令行命令生成我们项目的 boot-jar:
   
        make-boot-jar –f  tc-config.xml

tc-config.xml 文件是我给的那个 tc-boot-jar.xml 文件 的位置.

 

在每个 <TOMCAT_HOME>\bin 目录下新建一个 setenv.bat 文件 , 加入以下配置 :

 

 set TC_INSTALL_DIR=<TERRACOTTA_HOME>

set TC_CONFIG_PATH="localhost:9510"

call %TC_INSTALL_DIR%\bin\dso-env.bat -q

set JAVA_OPTS=%TC_JAVA_OPTS% %JAVA_OPTS%
 

 

(2). 启动 terracotta tomcat

转到命令行 , 进入 <TERRACOTTA_HOME>\bin 目录下 , 使用以下命令行命令运行 terracotta

start-tc-server   -f  tc-config.xml

tc-config.xml 文件为我给的 tc-config.xml 文件的位置 .

双击 startup.bat 启动 tomcat 就可以了 .

 

正常的话 , 应该在 admin console 中看两个 client 和一个 server .

 

. 新加一个 tomcat.

1. 配置 apache.

   wokers.properties 中加多个 worker worker3, 现在 workers.properties 文件内容变为

 

 

worker.list=loadbalancer

 worker.worker1.type=ajp13

worker.worker1.host=localhost

 worker.worker1.port=9009

 worker.worker1.lbfactor=5

 worker.worker1.redirect=worker2

 worker.worker2.type=ajp13

 worker.worker2.host=localhost

 worker.worker2.port=10009

 worker.worker2.lbfactor=5

 worker.worker2.redirect=worker3

 worker.worker3.host=localhost

worker.worker3.port=11009

worker.worker3.lbfactor=5

worker.loadbalancer.type=lb

 worker.loadbalancer.balanced_workers=worker1,worker2, worker3
 

然后新加入一个 tomcat tomcat-3, 修改 tomcat3 server.xml 文件为相应的端口 , 同上面的修改差不多相同 , 然后重启 apache. 再启动 tomcat-3 就可以了 .
现在就有三个节点了.

分享到:
评论

相关推荐

    apache2.2+mod_JK+Tomcat7+Terracotta3.7 集群(重要)

    Apache 2.2、mod_JK、Tomcat 7 和 Terracotta 3.7 是构建高可用性和可伸缩性Web应用集群的关键组件。这个集群解决方案旨在通过将负载分散到多个服务器上,提高应用程序的性能和稳定性。下面将详细阐述这些组件以及...

    通过_Terracotta实现基于Tomcat的Web应用集群

    - **Apache Tomcat**:推荐使用Terracotta官方支持的版本,如Apache Tomcat 6.0.18、5.5.26或5.0.28。 - **Terracotta**:建议使用3.0或更高版本。 - 在所有参与集群的机器上安装Java环境。 2. **安装Terracotta...

    apache+tomcat分布式集群.rar

    Apache 和 Tomcat 分布式集群配置详解 在高并发、高可用性要求的环境中,单一的服务器往往无法满足业务需求,这时我们需要构建分布式集群来提升系统性能和稳定性。Apache 和 Tomcat 的组合是常见的Web服务架构,...

    采用apache实现tomcat的集群配置方案[文].pdf

    本文档详细介绍了如何通过Apache作为负载均衡器来实现Tomcat集群的搭建,并利用Terracotta实现Ehcache的集群配置,以增强系统的故障恢复能力和数据共享功能。 #### 二、环境准备 在开始配置之前,需要准备以下软件...

    Apache与tomcat整合、性能、集群、测试.pdf

    2. **会话共享**:在Tomcat集群中,为了让用户的会话信息在各个Tomcat实例间共享,需要配置会话复制机制,通常使用Tomcat自带的会话管理功能或借助第三方解决方案,如Terracotta等。 3. **数据共享**:如果应用中...

    使用terracotta进行web session 同步

    对于Apache Tomcat这样的Web服务器,需要配置Terracotta的连接器(如tc-server.jar)并启用Terracotta Session管理。在`server.xml`配置文件中,添加`&lt;Manager className="org.terracotta.session.tomcat.Tomcat ...

    Terracotta学习文档

    这个学习文档着重讲解了如何利用 Terracotta 实现 Web 应用程序的集群部署,特别是与 Apache Tomcat 服务器的集成,以实现 session 复制和负载均衡。 1. **引言** Terracotta 学习文档的目的是教导读者如何利用其...

    基于内存的Quartz集群配置手册 [中文]

    3. Web容器:例如Apache Tomcat 6.x,用于部署QuartzWeb工程。 4. 确保JDK版本至少为1.5。 配置步骤如下: 1. 在两台服务器上安装Terracotta,将`terracotta-3.5.0.tar.gz`解压到同一目录。 2. 创建`tc-config....

    Java-Cluster.rar_cluster_java cluster

    8. **开源框架**:例如Apache Mesos、Hazelcast、Terracotta等,它们提供了一套完整的解决方案,简化了Java集群的搭建和管理。 9. **微服务架构**:随着微服务理念的普及,Java集群更倾向于由小型、独立的服务组成...

    Jetty中文手册

    Porting from Tomcat Jetty版本比较列表 参考 Jetty 7 Latest JavaDoc Jetty 7 Latest Source XRef Index of Generated Release Documents–API and XRef documentation for previous releases. 通用参考 Jetty体系...

    liferayPortal

    - Terracotta DSO集成:提供内存共享机制,提高集群环境下的性能。 - 高级缓存:包括页面缓存、负载均衡、会话复制和分布式缓存等机制。 - 静态内容导出:允许将部分静态内容导出到外部存储,减少服务器负载。 - ...

Global site tag (gtag.js) - Google Analytics