使用
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
就可以了
.
现在就有三个节点了.
分享到:
相关推荐
NULL 博文链接:https://lihongchao87.iteye.com/blog/1727802
其实terracotta集群tomcat这方面的资料也算不少了··但还是会很容易出现错误·· 希望我这个文档能帮助大家!
Terracotta的基本原理是对于集群间共享的数据,当在一个节点发生变化的时候,Terracotta只把变化的部分发送给...在对比测试中,采用Terracotta搭建Tomcat集群,节点达到8个时候,整个集群的吞吐量还一直是线性增长的。
2008Amazon四星半新书_The+Definitive+Guide+to+Terracotta_+Cluster+the+JVM+for+Spring,+Hibernate+and+P.rar
本文介绍如何配置Tomcat和Terracotta服务器将普通的Web应用部署到集群中,实现跨Tomcat节点的session复制,以达到负载均衡、提高系统吞吐量和灾难恢复的效果。
Terracotta实现基于Tomcat的Web应用集群
记载了terracotta如何与tomcat、jetty等服务器的集群,解释了tc-config.xml中各个配置的作用
java ehcache terracotta 集群, 分布式缓存配置
terracotta集群负载,是个好东西
linux安装包terracotta-3.7.7.tar.gz,用于tomcat的session集群
Terracotta
ehcache3集群相关资源,包括ehcache-clustered-3.10.0-kit、ehcache-3.10.0.jar、ehcache-clustered-3.10.0.jar、terracotta-3.7.7.tar.gz、ehcache-transactions-3.10.0.jar
《基于Terracotta和Continuent的可扩展集群架构》 1) 关键应用架构待解决的集群问题 2) 基于JVM的透明数据复制技术 3) Oracle RAC 的开源数据库替代技术 演讲人:程勇 灰狐开源社区共同创始人
terracotta-toolkit-1.3-runtime-3.2.0.jar 集群实现JAR
Terracotta 3.2.1 英文文档
terracotta-ee-3.5.2破解版
terracotta license.key ,
本学习文档主要介绍了Terracotta基本原理和如何配置Tomcat和Terracotta服务器将普通的Web应用部署到集群中,实现跨Tomcat节点的session复制,以达到负载均衡、提高系统吞吐量和灾难恢复的效果。