`
woshizn
  • 浏览: 209718 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Terracotta集群快速安装

    博客分类:
  • Java
阅读更多

这个文档告诉你怎样为一个用Ehcache cache的应用添加Terracotta 集群。

 

快速安装 与定制安装

有2种方法来安装Terracotta分布cache:快速与定制。快速安装适用于只需要一个cache的集群。定制安装适用于需要一个cache集群和 其他java对象,例如sessions和定制POJOs,或者使用Terracotta应用,或者使用Terracotta整合模块 (Terracotta integration Modules:TIMs)整合其他技术。

如果你使用Ehcache在一个单独的JVM上,或者使用一个集群响应,可以考虑快速安装(在这里 )。如果你是一个前沿的Terracotta使用者,而且想要添加一个分布caching,可以考虑使用定制安装。

如果你不确定用哪种方式安装,请阅读2中安装方法,然后找到适合你的安装方法。这2中安装方法不兼容,也不能被兼容使用。


前提是这个应用运行在:
1、    在一个单独的jvm上
2、    一个用Ehcache 响应的集群
步骤如下:
一、    需要条件
JDK1.5及以上版本
Terracotta 3.1.1及以上版本
所有被集群的对象是可串行化的

二、    安装分布cache
添加以下JAR文件到你项目的CLASSPATH中

  • ${TERRACOTTA_HOME}/distributed-cache/ehcache-terracotta-<version>.jar
  • ${TERRACOTTA_HOME}/distributed-cache/ehcache-core-<version>.jar

如果你用的是WAR文件,将这些JAR文件添加到WEB-INF/lib 文件夹中。

三、    配置分布式cache
Ehcache的配置文件,默认为ehcache.xml,需要在你项目的classpath中。如果你用的是WAR文件,需要将Ehcache配置文件放入WEB-INF/lib 文件夹中。

添加Terracotta配置文件
为需要用Terracotta实现集群的cache,在ehcache.xml添加sub-element<terracotta/>到cache的<cache>块中。举例如下:

<cache name="foo" maxElementsInMemory="1000"
       maxElementsOnDisk="10000" eternal="false" timeToIdleSeconds="3600"
       timeToLiveSeconds="0" memoryStoreEvictionPolicy="LFU">
  <!-- Adding the element <terracotta /> turns on Terracotta clustering for the cache foo. -->
  <terracotta />
</cache>
 


你还需要用<terracottaConfig>为应用服务器指出terracotta的位置。
客户端需要加载配置从一个文件或者Terracotta服务器中。下面的例子展示了一个加载于本地主机上的Terracotta服务器的配置文件。

<ehcache name="myCache">
...
<terracottaConfig url="localhost:9510" />
...
</ehcache>
 


url属性的值需要包含Terracotta服务器的主机名和它的DSO端口号(默认为9510)。

编辑不相容的配置
对于任何被集群的cache,你必须删除、disable、或者编辑那些在Terracotta集群时不相容的配置元素。被集群的caches有个<terracotta>或者<terracotta clustered=”true”>元素。
下面这些Ehcache配置属性或者元素需要删除或者disable。

  •   DiskStore-related attributes overflowToDisk and diskPersistent .

Terracotta 服务器自动提供一个磁盘储存。

  •   Replication-related configuration elements, such as <cacheManagerPeerProviderFactory>, <cacheManagerPeerListenerFactory>, <bootstrapCacheLoaderFactory>, <cacheEventListenerFactory>.

当一个变化发生在Terracotta集群的时候,所以包含变化元素和对象的节点都会更新。 Unlike the replication methods used to cluster Ehcache, cache event listeners are not (and do not need to be) notified of remote changes. Listeners are still aware of local changes.

  • Replication-related attributes such as replicateAsynchronously and replicatePuts .

MemoryStoreEvictionPolicy属性需要被设置成LFU或者LRU。设置MemoryStoreEvictionPolicy为FIFO将会引起IllegalArgumentException错误。

四、    启动集群
1、启动Terracotta服务

  • UNIX/Linux
  • [PROMPT] ${TERRACOTTA_HOME}/bin/start-tc-server.sh &
  • Microsoft Windows
  • [PROMPT] ${TERRACOTTA_HOME}\bin\start-tc-server.bat

2、启动应用服务器
3、启动Terracotta开发控制台

  • UNIX/Linux
  • [PROMPT] ${TERRACOTTA_HOME}/bin/dev-console.sh &
  • Microsoft Windows
  • [PROMPT] ${TERRACOTTA_HOME}\bin\dev-console.bat

4、连接Terracotta集训
点击Terracotta开发控制台中的Connect…
5、点击集群导航窗口中的Ehcache节点查看Terracotta集群中的caches。

五、编辑Terracotta配置
这一步告诉你如何在不同的机器上启动客户端和服务器,和故障转移(高效)。你可以扩展Terracotta集群和添加高效性,通过做以下的事情:
1、    将Terracotta服务器转移到单独的机器上。
2、    部署一个由多个Terracotta服务器组织的集群器。
3、    部署多个应用节点。

操作程序:
1、    关闭Terracotta集群器。
2、    建立Terracotta配置文件tc-config.xml包含像下面这样的内容:

<?xml version="1.0" encoding="UTF-8"?>
<!-- All content copyright Terracotta, Inc., unless otherwise indicated.
     All rights reserved.
-->
<tc:tc-config xsi:schemaLocation="http://www.terracotta.org/schema/terracotta-4.xsd" xmlns:tc="http://www.terracotta.org/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 
  <servers>
    <!-- Sets where the Terracotta server can be found. Replace the value of
         host with the server's IP address. -->
    <server host="server.1.ip.address" name="Server1">
      <data>%(user.home)/terracotta/server-data</data>
      <logs>%(user.home)/terracotta/server-logs</logs>
    </server>
    <!-- If using a standby Terracotta server, also referred to as an ACTIVE-
         PASSIVE configuration, add the second server here. -->
    <server host="server.2.ip.address" name="Server2">
      <data>%(user.home)/terracotta/server-data</data>
      <logs>%(user.home)/terracotta/server-logs</logs>
    </server>
  </servers>
  <!-- Sets where the generated client logs are saved on clients. -->  
  <clients>
    <logs>%(user.home)/terracotta/client-logs</logs>
  </clients>
</tc:tc-config>
 



3、    安装Terracotta3.1.1在每一台你在tc-config.xml中配置的服务器上。
4、    复制tc-config.xml文件到一个Terracotta服务器们可以进入的位置。
5、    执行二、安装分布cache 和 三、配置分布式cache 在每一个你想要集群的应用节点上。
确定你安装了你的应用或者任何应用服务器在那些节点上。
6、    添加以下语句到Ehcache配置文件ehcache.xml中:

<!-- Add the servers that are configured in tc-config.xml. -->
<terracottaConfig url="server.1.ip.address:9510,server.2.ip.address:9510" />
 


7、    复制ehcache.xml到每一个应用节点,确保它在你应用的classpath中。如果你用的是WAR文件,将这些JAR文件添加到WEB-INF/lib 文件夹中。
8、    启动Terracotta服务以下面的方法,将tc-config.xml中的’Server1’换成任意你取的名字。

  • UNIX/Linux
  •  [PROMPT] ${TERRACOTTA_HOME}/bin/start-tc-server.sh -f <path/to/tc-config.xml> -n Server1 &
  • Microsoft Windows
  •  [PROMPT] ${TERRACOTTA_HOME}\bin\start-tc-server.bat -f <path\to\tc-config.xml> -n Server1 &


如果你配置了第2台服务器,启动那个服务用同样的方法在那台机器上,在 –n 标记后输入它的名字。第2台服务器成为热备份。任何你配置的其他服务器都可以开启变成备份服务器。
9、    打开所有的应用服务器。
10、打开Terracotta开发终端,监视集群器。


六、了解更多


http://www.terracotta.org/documentation/ga/product-documentation-2.html#50552833_Step%202


http://www.terracotta.org/documentation/ga/product-documentation-13.html#50552839_38131


http://www.terracotta.org/documentation/ga/product-documentation-4.html#50552833_53258


http://ehcache.org/

分享到:
评论

相关推荐

    terracotta

    1. **配置集群**:首先,需要在多台服务器上安装Terracotta,并配置集群设置,确保节点间能够正确通信。 2. **集成应用**:通过引入Terracotta客户端库,将应用连接到集群,配置相应的数据持久化策略和缓存策略。 ...

    terracotta-3.7.7.tar.gz

    5. **启动Tomcat**:配置完成后,启动Tomcat服务器,此时Tomcat会与Terracotta集群建立连接。 6. **监控与管理**:通过Terracotta提供的管理界面(通常在8000端口)可以监控和管理整个集群的状态,包括session的数量...

    《基于Terracotta和Continuent的可扩展集群架构》

    ### 基于Terracotta和Continuent的可扩展集群架构 #### 1. 关键应用架构待解决的集群问题 在当今高度依赖信息技术的企业环境中,确保关键业务系统的高可靠性和高可用性变得尤为重要。演讲人程勇在《基于Terracotta...

    The Definitive Guide to Terracotta 分布式JVM框架

    - **高级配置选项**:如网络配置、日志级别调整、安全设置等,帮助用户进一步优化Terracotta集群的性能。 #### 六、最佳实践与案例分析 - **性能优化技巧**:介绍如何通过合理的配置和调优策略提高Terracotta集群...

    Ehcache集群实例

    7. **测试与监控**:部署并启动Ehcache集群后,可以使用Ehcache管理工具或Terracotta的管理控制台来监控集群的状态,包括节点健康、缓存统计和事件日志。 8. **性能优化**:在集群环境中,考虑缓存数据的分布策略,...

    http://www.terracotta.org/

    指向的是Terracotta公司官方网站,这家公司主要提供分布式内存计算解决方案,其技术主要用于优化大型应用程序的数据缓存和集群管理。 Terracotta的技术栈包括了Ehcache、BigMemory以及分布式数据管理平台Quasar等,...

    集群中几种session同步解决方案的比较

    - **高性能**:利用内存存储,可以提供非常快速的数据访问速度。 - **可扩展性**:支持分布式部署,易于扩展。 **缺点**: - **数据持久性问题**:Memcached通常作为缓存使用,一旦服务停止运行,所有数据都会丢失...

    集群环境中使用_EhCache_缓存系统&Ehcache配置文件的详细说明

    2. 节点发现机制:确保所有节点都能正确发现并加入到集群中,通常通过配置 Terracotta 的集群配置文件实现。 3. 网络稳定性:分布式缓存对网络依赖性强,保持网络稳定至关重要。 总结,EhCache在集群环境中的应用...

    ehcache 例子

    1. **安装Ehcache和Terracotta**:首先,你需要下载并安装Ehcache和Terracotta服务器。确保版本兼容,并按照官方文档进行安装。 2. **配置Ehcache.xml**:在项目的资源配置文件中,需要设置`&lt;terracotta&gt;`元素,...

    官方 Quartz 2.2.2 Jar 包

    4. **Terracotta_Quartz_User_Guide.pdf**:对于使用 Terracotta 进行集群部署的用户,这份指南提供了有关在 Terracotta 集群环境中使用 Quartz 的信息。Terracotta 提供了分布式内存管理和故障恢复功能,使得 ...

    Ehcache 3(ehcache-clustered-3.8.1-kit.zip)

    在集群环境下,Ehcache 3 使用 Terracotta Server Array (TSA) 进行集群协调和数据同步。TSA 是一个专门用于Ehcache集群的服务器,它提供了分布式锁服务、数据复制和故障检测等功能。当一个节点更新缓存时,TSA会...

    ehcache2.6.5.rar

    在版本2.6.5中,Ehcache提供了一套完整的缓存解决方案,包括本地缓存、分布式缓存和 Terracotta 集群支持。 Ehcache 2.6.5的关键特性包括: 1. **内存管理**:Ehcache 使用LRU(Least Recently Used)策略来管理...

    Java-Cluster.rar_cluster_java cluster

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

    ehcache-clustered-3.10.0-kit.tgz

    在集群模式下,Ehcache使用Terracotta Server Array进行通信和同步,确保所有节点上的缓存状态一致。这使得Ehcache能够在分布式系统中提供高可用性和可伸缩性。 **使用Ehcache-clustered-3.10.0-kit** 这个工具包...

    ehcache-clustered-3.9.6-kit.zip

    1. ** Terracotta服务器**:Ehcache集群依赖于Terracotta服务器作为集群协调者,它负责同步节点之间的数据和处理失败情况。 2. **分布式缓存**:每个节点都有一份完整的缓存副本,当某个节点请求数据时,会从最近的...

    Ehcache 2.10.8(bigmemory-max-4.3.8.4.2.tar.gz)

    - Terracotta集群集成:bigmemory-max集成了Terracotta服务器,可以实现跨节点的分布式缓存和数据同步。 4. 压缩包内容解析: - 解压bigmemory-max-4.3.8.4.2.tar.gz,会得到Ehcache的相关库文件、配置示例、文档...

    EHcache缓存框架

    3. ** Terracotta Server Array**:使用Terracotta服务器,可以实现EHcache的集群管理,提供高可用性,故障转移和负载均衡功能。 4. **缓存同步**:通过RMI(Remote Method Invocation)或JGroups协议进行节点间的...

    Ehcache经典教程实例应用-原创

    - **快速**:Ehcache设计为高性能,能够快速读取和写入缓存数据。 - **简单**:其API简洁明了,易于集成到Java应用程序中。 - **多种缓存策略**:支持LRU(最近最少使用)、LFU(最不经常使用)等缓存替换策略。 ...

Global site tag (gtag.js) - Google Analytics