- 浏览: 108546 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
lws0402:
sghys 写道附件根本没这代码代码都贴在网上了,很简单。附件 ...
jdk 1.5 搭建 jax-ws -
sghys:
附件根本没这代码
jdk 1.5 搭建 jax-ws -
dukunpeng22:
按照楼主的思路,也可以做一个文字的倒影效果,蛮不错的
ImageView倒影效果 -
yangpanwww:
哈哈。。原因不是你说的这个原因吧
在 tomc ...
Xfire调用webservice出错 -
mapeijie888:
貌似还是不行啊 兄弟贴代码出来看看
javah编译带包class文件出错解决方法
今天研究了一下terracotta + tomcat的集群,记录一下。
一、环境
本机,ip:192.168.2.158 win7 64位
虚拟机,ip:192.168.81.128 RedHat 64位
本机装两个tomcat 和 一个terracotta,虚拟机装一个teracotta。
虚拟机也要装jdk,因为terracotta需要jdk的支持。
terracotta安装目录,win7为G:\java_workspaces\terracotta-3.7.7 虚拟机为/usr/lws_life/terracotta-3.7.7
二、步骤
1、将terracotta安装目录下sessions文件夹里的terracotta-session-1.3.7.jar 和 common文件夹里的 terracotta-toolkit-1.6-runtime-5.7.0.jar 文件 都拷贝到 tomcat的lib中(两个tomcat都需要拷贝)。
2、在terracotta安装目录下创建tc-config.xml的配置文件,内容如下
3、修改tomcat安装目录conf文件夹中的context.xml文件,添加内容如下:
4、配置nginx,配置文件为nginx安装目录下conf文件夹中的nginx.conf,主要修改代码如下:
5、启动terracotta服务。
win7 下进入cmd模式,进入terracotta的bin目录,执行如下命令
linux下,进入terracotta的bin目录,执行如下命令
注意:这里启动需要指定tc-config.xml文件,否则会使用默认的配置文件。
如果linux下不能执行该命令,需要赋予权限,最简单的就是 chmod 777 -R <terracotta安装路径>
如果配置无误,会看到下面的信息
[img]
[/img]
6、启动tomcat服务 和 nginx服务。
访问 http://127.0.0.1(nginx 和 tomcat都是装在本机的,所以可以用127.0.0.1访问,项目部署时去掉项目名,比如http://127.0.0.1:8080/coal 访问的要改为 http://127.0.0.1:8080访问)
7、测试
查看sessionId,应该会在原有的sessionId后面加上 .X,X为数字,代表不同的服务器,如hgdjfgdhsgfjhsjhg.1或 hgdjfgdhsgfjhsjhg.2,这时关闭其中一台tomcat,项目可以正常运行,然后启动关闭的tomcat,在关闭另一台tomcat,发现session已经共享,说明集群配置成功
一、环境
本机,ip:192.168.2.158 win7 64位
虚拟机,ip:192.168.81.128 RedHat 64位
本机装两个tomcat 和 一个terracotta,虚拟机装一个teracotta。
虚拟机也要装jdk,因为terracotta需要jdk的支持。
terracotta安装目录,win7为G:\java_workspaces\terracotta-3.7.7 虚拟机为/usr/lws_life/terracotta-3.7.7
二、步骤
1、将terracotta安装目录下sessions文件夹里的terracotta-session-1.3.7.jar 和 common文件夹里的 terracotta-toolkit-1.6-runtime-5.7.0.jar 文件 都拷贝到 tomcat的lib中(两个tomcat都需要拷贝)。
2、在terracotta安装目录下创建tc-config.xml的配置文件,内容如下
<?xml version="1.0" encoding="UTF-8" ?> <tc:tc-config xmlns:tc="http://www.terracotta.org/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.terracotta.org/schema/terracotta-6.xsd"> <tc-properties> <property name="l2.nha.dirtydb.autoDelete" value="true"/> <property name="l1.cachemanager.enabled" value="true"/> <property name="logging.maxLogFileSize" value="1024"/> </tc-properties> <system> <configuration-model>development</configuration-model> </system> <servers> <!-- 这里配置第一台 terracotta服务器信息 --> <server host="192.168.2.158" name="MyServer1" bind="192.168.2.158"> <data>G:/java_workspaces/terracotta-3.7.7/server-data</data> <logs>G:/java_workspaces/terracotta-3.7.7/server-logs</logs> <index>G:/java_workspaces/terracotta-3.7.7/server-index</index> <statistics>G:/java_workspaces/terracotta-3.7.7/server-statistics</statistics> <!-- 这些端口都是默认的 --> <dso-port bind="192.168.2.158">9510</dso-port> <jmx-port bind="192.168.2.158">9520</jmx-port> <l2-group-port bind="192.168.2.158">9530</l2-group-port> <authentication/> <http-authentication> <user-realm-file>G:/java_workspaces/terracotta-3.7.7/realm.properties</user-realm-file> </http-authentication> <dso> <client-reconnect-window>120</client-reconnect-window> <persistence> <mode>temporary-swap-only</mode> </persistence> <garbage-collection> <enabled>true</enabled> <verbose>false</verbose> <interval>3600</interval> </garbage-collection> </dso> </server> <!-- 这里配置第二台terracotta服务器信息 --> <server host="192.168.81.128" name="MyServer2" bind="192.168.81.128"> <data>/usr/lws_file/terracotta-3.7.7/server-data</data> <logs>/usr/lws_file/terracotta-3.7.7/server-logs</logs> <index>/usr/lws_file/terracotta-3.7.7/server-index</index> <statistics>/usr/lws_file/terracotta-3.7.7/server-statistics</statistics> <dso-port bind="192.168.81.128">9510</dso-port> <jmx-port bind="192.168.81.128">9520</jmx-port> <l2-group-port bind="192.168.81.128">9530</l2-group-port> <authentication/> <http-authentication> <user-realm-file>/usr/lws_file/terracotta-3.7.7/realm.properties</user-realm-file> </http-authentication> <dso> <client-reconnect-window>120</client-reconnect-window> <persistence> <mode>temporary-swap-only</mode> </persistence> <garbage-collection> <enabled>true</enabled> <verbose>false</verbose> <interval>3600</interval> </garbage-collection> </dso> </server> <ha> <mode>networked-active-passive</mode> <networked-active-passive> <election-time>5</election-time> </networked-active-passive> </ha> <update-check> <enabled>true</enabled> <period-days>10</period-days> </update-check> </servers> <clients> <logs>logs-%i</logs> </clients> </tc:tc-config>
3、修改tomcat安装目录conf文件夹中的context.xml文件,添加内容如下:
<?xml version="1.0" encoding="UTF-8"?> <Context> <WatchedResource>WEB-INF/web.xml</WatchedResource> <!-- 主要添加这一段 我用的tomcat6.0, tcConfigUrl为terracotta服务器的地址,端口就是tc-config.xml文件中设置的dso端口,这里默认为9510,多个服务器信息用逗号分隔 --> <Valve className="org.terracotta.session.TerracottaTomcat60xSessionValve" tcConfigUrl="192.168.2.158:9510,192.168.81.128:9510"/> </Context>
4、配置nginx,配置文件为nginx安装目录下conf文件夹中的nginx.conf,主要修改代码如下:
#这里是配置nginx的负载均衡 有四种负载均衡的方式,这里采用权值的分配 upstream mysvr { #weigth参数表示权值,权值越高被分配到的几率越大 #本机上的Squid开启3128端口 #这里的ip和端口请对照tomcat做相应修改 server 127.0.0.1:8080 weight=1; server 127.0.0.1:8081 weight=1; } server { #监听80端口 listen 80; server_name localhost; location / { #这里的mysvr为上方配置的 负载均衡的信息 proxy_pass http://mysvr; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; #该值表示一台服务器down了之后,如果分配给该服务器资源,链接超过1秒钟,就重新分配资源 proxy_connect_timeout 1; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } }
5、启动terracotta服务。
win7 下进入cmd模式,进入terracotta的bin目录,执行如下命令
start-tc-server.bat -f <安装路径>/tc-config.xml
linux下,进入terracotta的bin目录,执行如下命令
start-tc-server.sh -f <安装路径>/tc-config.xml
注意:这里启动需要指定tc-config.xml文件,否则会使用默认的配置文件。
如果linux下不能执行该命令,需要赋予权限,最简单的就是 chmod 777 -R <terracotta安装路径>
如果配置无误,会看到下面的信息
[img]
[/img]
6、启动tomcat服务 和 nginx服务。
访问 http://127.0.0.1(nginx 和 tomcat都是装在本机的,所以可以用127.0.0.1访问,项目部署时去掉项目名,比如http://127.0.0.1:8080/coal 访问的要改为 http://127.0.0.1:8080访问)
7、测试
查看sessionId,应该会在原有的sessionId后面加上 .X,X为数字,代表不同的服务器,如hgdjfgdhsgfjhsjhg.1或 hgdjfgdhsgfjhsjhg.2,这时关闭其中一台tomcat,项目可以正常运行,然后启动关闭的tomcat,在关闭另一台tomcat,发现session已经共享,说明集群配置成功
发表评论
-
java生成不重复的用户邀请码
2016-05-26 11:00 7159直接上代码,根据一个值M(可以是用户唯一表示,如主键id,或手 ... -
jdk 1.5 搭建 jax-ws
2013-09-26 11:30 4542从jdk1.6开始,可以直接搭建jax-ws,但是jdk1.5 ... -
找不到WEB-INF下的proxool.xml的问题
2011-05-12 15:09 2130在windows下部署正常的系统,移植到linux下,启动时报 ... -
applet
2011-03-24 16:45 1541在jsp页面使用applet时。总是报错——找不到类。 主要是 ... -
(转载)java单例模式的6种写法
2011-03-11 16:33 1836第一种(懒汉,线程不安全) public class Sing ... -
javah编译带包class文件出错解决方法
2011-01-04 11:04 2506用JNI时,需要把class文件编译成.h文件 不带包名的cl ... -
java获得字符串中的指定字符
2010-11-12 10:16 1662正则表达式除了匹配一串字符串是否符合某种格式,还能从文本中过滤 ... -
判断文件是否为图片文件
2010-08-30 11:32 4350判断文件是否为图片,仅通过后缀名判断很不全面,如果把一个txt ... -
Java动态调用方法
2010-05-26 11:52 21094public void function(String s ... -
java UDP传输
2010-05-26 11:47 1205TCP通过 ServerSocket 和 Socket 来实现 ... -
java UDP打印
2010-05-26 11:45 992采用UDP的通讯方式,调用java自带的awt打印接口 服务 ... -
基于prototype.js和spring的ajax分页
2010-05-26 11:42 1770这是一个基于prototype.js的ajax分页,运用了sp ... -
java soap + tomcat 开发
2010-05-26 11:34 3738不带javaBean的SOAP调用 首先,下载soap.wa ... -
java过滤关键字
2010-05-26 11:29 3328KeywordFilter.java: 1. imp ... -
java ftp操作
2010-05-26 11:14 1722简单的写了个java对ftp的操作 用的是commons-n ... -
tomcat一闪而过启动失败
2010-05-26 11:11 15141、手动点击startup.bat受,一闪而过 在用文本打开 ...
相关推荐
【 Terracotta + Tomcat 集群配置详解】 在分布式计算环境中,集群技术是提升系统可用性和性能的重要手段。本文将深入探讨 Terracotta 与 Tomcat 集群的配置,以及如何利用 Terracotta 实现高效、可靠的 session ...
在构建高性能、高可用性的Web服务环境中,"负载均衡nginx+tomcat+terracotta+nfs+mysql"是一个常见的架构组合。这个组合充分利用了各组件的优势,以实现数据的高效处理、分布式存储以及会话共享,确保系统的稳定性和...
Terracotta集群Tomcat的配置是一项复杂而关键的任务,它涉及到分布式系统中的高可用性和负载均衡。...正确地执行这些步骤,可以创建一个可靠的、能够自动故障转移的Tomcat集群,提高应用的稳定性和可扩展性。
在Tomcat集群中,Terracotta可以实现session复制和共享,确保用户在集群中的任意节点之间切换时,其会话状态保持一致,避免了session丢失的问题。 集群配置文件tc-config.xml是Terracotta的配置文件,用于定义集群...
为了便于使用Terracotta搭建Tomcat集群,Terracotta提供了一个名为“tim-tomcat”的插件。以下为搭建过程的具体步骤: 1. **准备环境** - **Apache Tomcat**:推荐使用Terracotta官方支持的版本,如Apache Tomcat...
Apache 和 Tomcat 分布式集群配置详解 在高并发、高可用性要求的环境中,单一的服务器往往无法满足业务需求,这时我们需要构建分布式集群来提升系统性能和稳定性。Apache 和 Tomcat 的组合是常见的Web服务架构,...
记载了terracotta如何与tomcat、jetty等服务器的集群,解释了tc-config.xml中各个配置的作用
《The Definitive Guide to Terracotta: Cluster the JVM for Spring, Hibernate and More》是一本在2008年获得了亚马逊四星半高评的技术书籍,专注于介绍如何使用Terracotta来实现Java虚拟机(JVM)的集群,并且...
这个学习文档着重讲解了如何利用 Terracotta 实现 Web 应用程序的集群部署,特别是与 Apache Tomcat 服务器的集成,以实现 session 复制和负载均衡。 1. **引言** Terracotta 学习文档的目的是教导读者如何利用其...
Terracotta是一款强大的Java应用程序管理工具,特别是对于处理Tomcat服务器的session集群有着显著的优势。在本场景中,我们关注的是“terracotta-3.7.7.tar.gz”这个Linux安装包,它包含了实现Tomcat session集群所...
在`server.xml`配置文件中,添加`<Manager className="org.terracotta.session.tomcat.Tomcat TerracottaSessionManager" />`,以启用Terracotta的Session同步。 3. **配置应用代码** 在你的Web应用中,无需对代码...
4. **兼容性增强**:与更多的JVM和应用程序框架兼容,如Tomcat、Jetty等,使得Terracotta可以更广泛地应用于各种开发环境。 **四、使用Terracotta-3.6.0实践分布式内存管理** 1. **配置集群**:首先,需要在多台...
本文档详细介绍了如何通过Apache作为负载均衡器来实现Tomcat集群的搭建,并利用Terracotta实现Ehcache的集群配置,以增强系统的故障恢复能力和数据共享功能。 #### 二、环境准备 在开始配置之前,需要准备以下软件...
Terracotta是一款强大的分布式内存管理工具,主要用于Java应用程序的集群化和数据共享。在这个场景中,我们关注的是Terracotta企业版(terracotta-ee)的4.1.2版本,以及与其配套的许可证文件(terracotta-license....
1. **环境搭建**:实验使用了两台后端服务器(192.168.5.237和192.168.5.243),每台服务器上部署了一个Tomcat实例,以及一台负载均衡器(192.168.5.186)使用Nginx进行流量分配。 2. **测试过程**:通过多次尝试...