Network-Attached Memory(HAM)terracotta笔记(一)

Network-Attached Memory(HAM)terracotta笔记(一)
首页
http://www.terracotta.org/web/display/orgsite/What+Is+Terracotta
Terracotta is Network-Attached Memory(HAM)

1、eclipse环境设置
eclipse plugin
terracotta
Final http://download.terracotta.org/eclipse/update
Nightly http://download.terracotta.org/nightly/eclipse/update

2、集成lucene的例子
integrations - Lucene
demo SVN url:
http://svn.terracotta.org/svn/forge/projects/labs/terracotta-lucene-examples/trunk/terracotta-lucene-examples

3、在WINDOWS上安装服务端和客户端
下载得到该文件,安装
terracotta-windows-2.6.4.exe

4、在UBUNTU上部署服务端
下载得到文件
terracotta-generic-2.6.4.tar.gz
解开压缩包拷贝到工作目录
tar zxvf terracotta-generic-2.6.4.tar.gz
mv terracotta-2.6.4 /usr/local/
启动SAMPLE服务
cd /usr/local/terracotta-2.6.4/samples
./start-demo-server.sh

打开terracotta welcome
打开Terracotta Administrator Console
连接到服务器的IP,可以查看到server和client的情况和日志

5、修改terracotta-lucene-examples的例子的配置文件
build.xml文件如下:
<project name="lucene-examples" default="jar" basedir=".">
<!-- IMPORTANT: uncomment and edit the tcinstall property according to the location of your terracotta installation -->
<!-- <property name="tcinstall" value="/PATH/TO/YOUR/TERRACOTTA/INSTALLATION"/> -->

<!-- Don't edit anything below here. -->
<property name="tcjava" value="D:/tool/Terracotta/terracotta-2.6.4/bin/dso-java.bat"/>
<property name="tcconfig" value="tc-config.xml"/>

<property file="${user.home}/.m2/maven.properties" />
<property name="maven.build.output" value="target/classes" />
<property name="maven.build.directory" value="target" />
<property name="maven.build.final.name" value="terracotta-lucene-examples-1.1" />
<property name="maven.test.reports" value="${maven.build.directory}/test-reports" />
<property name="maven.test.output" value="target/test-classes" />
<property name="maven.repo.local" value="${user.home}/.m2/repository" />
<path id="build.classpath">
<fileset dir="${maven.repo.local}">
<include name="org/apache/lucene/lucene-core/2.0.0/lucene-core-2.0.0.jar" />
</fileset>
</path>

<target name="run" depends="jar" description="Runs the example">
<echo message=""/>
<echo message="!!! IMPORTANT !!!"/>
<echo message="Make sure you start the Terracotta server:"/>
<echo message=" ${tcinstall}/dso/samples/start-demo-server.sh"/>
<echo message=""/>
<java fork="true" classpathref="build.classpath"
classname="org.terracotta.lucene.example.RAMDirectoryExample" jvm="${tcjava}">
<classpath>
<pathelement location="${maven.build.directory}/${maven.build.final.name}.jar"/>
<pathelement path="${build.classpath}"/>
</classpath>
<jvmarg value="-Dtc.config=${tcconfig}"/>
<!-- Uncomment this if you want to see verbose GC -->
<!-- <jvmarg value="-verbose:gc"/> -->
</java>
</target>

<target name="clean" description="Clean the output directory">
<delete dir="${maven.build.directory}" />
</target>

<target name="compile" depends="get-deps" description="Compile the code">
<mkdir dir="${maven.build.output}" />

<javac destdir="${maven.build.output}"
excludes="**/package.html"
debug="true"
deprecation="true"
optimize="false">
<src>
<pathelement location="src/main/java" />
</src>
<classpath refid="build.classpath" />
</javac>

<copy todir="${maven.build.output}">
<fileset dir="src/main/resources" />
</copy>
</target>

<target name="jar" depends="compile"
description="Clean the JAR">
<jar jarfile="${maven.build.directory}/${maven.build.final.name}.jar"
basedir="${maven.build.output}"
excludes="**/package.html" />
</target>

<target name="get-deps" description="Download all dependencies" unless="maven.mode.offline">
<mkdir dir="${maven.repo.local}" />
<get src="http://repo1.maven.org/maven2/org/apache/lucene/lucene-core/2.0.0/lucene-core-2.0.0.jar"
dest="${maven.repo.local}/org/apache/lucene/lucene-core/2.0.0/lucene-core-2.0.0.jar"
usetimestamp="true" ignoreerrors="true" />
</target>
</project>
主要修改了
<property name="tcjava" value="D:/tool/Terracotta/terracotta-2.6.4/bin/dso-java.bat"/>
修改为了自己的安装目录,同时,我的client用的是WINDOWS操作系统,所以用bat

修改配置文件tc-config.xml,文件内容如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!--
Note that logs for this demo are stored under your temporary directory
(for example, /tmp on Un*x-style systems), under a new, empty
directory each time this demo is run. Watch the program's startup
output; it will print out the name of the log file when it starts.
-->
<tc:tc-config xmlns:tc="http://www.terracotta.org/config">
<system>
<configuration-model>development</configuration-model>
</system>
<servers>
<server name="www.sillycat.com" host="www.sillycat.com">
<dso-port>9510</dso-port>
<jmx-port>9520</jmx-port>
<data>terracotta/server-data</data>
<logs>terracotta/server-logs</logs>
</server>
</servers>
<clients>
<logs>%d/client-logs-%h</logs>
<dso>
<debugging>
<runtime-logging>
<lock-debug>false</lock-debug>
</runtime-logging>
<runtime-output-options>
<full-stack>true</full-stack>
</runtime-output-options>
</debugging>
</dso>
<modules>
<module name="clustered-lucene-2.0.0" version="2.6.4"/>
</modules>
</clients>
<application>
<dso>
<instrumented-classes>
<include>
<class-expression>org.terracotta.lucene.example..*</class-expression>
</include>
</instrumented-classes>
<roots>
<root>
<field-name>org.terracotta.lucene.example.RAMDirectoryExample.clusteredDirectory</field-name>
</root>
</roots>
<locks>
<autolock>
<method-expression>* *..*.*(..)</method-expression>
</autolock>
</locks>
</dso>
</application>
</tc:tc-config>
主要修改了这个服务器地址:
<server name="www.sillycat.com" host="www.sillycat.com">
<dso-port>9510</dso-port>
<jmx-port>9520</jmx-port>
<data>terracotta/server-data</data>
<logs>terracotta/server-logs</logs>
</server>
还修改了配置的版本
<module name="clustered-lucene-2.0.0" version="2.6.4"/>

编译源码mvn clean package
执行 ant run
可以开启多个CMD窗口执行,各个窗口(client)能共享数据。在公司部署了没有任何问题。
在家部署的就没有共享到。一样的环境。嘿嘿。不知道是不是JDK版本问题。继续查找原因中...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值