Cassandra + Thrift 安装使用笔记

Cassandra是一个高可扩展性、最终一致性、分布式、结构化的key-value数据库,它借鉴了Amazon的 Dynamo 和Google's BigTable 的数据结构和功能特点,最初来源于Facebook的数据存储项目,目前 是Apache的一个孵化项目
Thrift是一个跨语言的服务开发框架,目前是Apache的一个孵化项目,Cassandra的客户端需要使用Thrift制作
 
下载Cassandra的安装包
 conf文件夹是放置配置文件的,bin是放启动和测试脚本的文件夹
 
1.单个节点的配置
按照官网的说明,修改conf/storage-conf.xml
  <CommitLogDirectory>       
 <DataFileDirectory>  
  <CalloutLocation> 
<BootstrapFileDirectory>
  <StagingFileDirectory> 
这几个文件夹配置正确,保证所指向的文件夹都已经存在
另外,修改conf/log4j.properties文件
配置log4j.appender.R.File项,指向一个文件
 
在Linux下使用命令 sh cassandra -f 启动
在Windows下使用 cassandra.bat 启动
 
注意:1)默认的jmxremote端口是8080,可能与现有系统所使用的端口冲突,可以在bin/cassandra.in.sh中修改
2)Windows下的安装比较诡异,conf和lib文件夹需要放置在C:/Documents and Settings/{你的用户名}/下
    启动后看到的界面内容比Linux少,启动信息可以从日志中获得
 
2.Cluster的配置
Cassandra 使用Gossip协议P2P的方式进行节点间的通信
需要在配置的节点中修改conf/storage-conf.xml中增加<Seed>,类似DNS的作用,显式的配置它所连接的节点
例如
  <Seeds>
      <Seed>127.0.0.1</Seed>
      <Seed>10.61.0.184</Seed>
      <Seed>10.61.0.180</Seed>
  </Seeds>
 
另外,需要修改ListenAddress和ThriftAddress为本节点的IP的地址,例如
 <ListenAddress>10.61.0.180</ListenAddress>,这个端口控制端 口,Cluster的节点通过该端口进行通信
<ThriftAddress>10.61.0.180</ThriftAddress>,这个端口监听来自客户端的消息,使用 Thrift编程就用这个端口
 
所使用的节点配置好后,都重启,发现日志上已经显示了有节点加入Cluster
在Linux下可以用下面的命令测试连接在某一台机器上的Cluster中的机器
sh nodeprobe --host 10.61.0.184 cluster
 
3.编程接口Thrift的配置
使用下面的命令,获取Thrift的压缩包
wget -O thrift.tgz http://gitweb.thrift-rpc.org/?p=thrift.git;a=snapshot;h=HEAD;sf=tgz
如果使用Java语言,可以在解压Thrift后,到安装目录下的/lib/java目录,使用ant编译得到libthrift.jar
 
注意:编译Java的jar时,需要用到ant,版本需要在1.7.1及以上,不然在编译时提示"not support nested 'typedef' element"的异常
 
4.编写客户端
把上一步生成的libthrift.jar和cassandra/lib下的apache-cassandra-inbubating- 0.4.1.jar引入classpath
下面一个测试代码,修改自官方文档
编写测试时,使用了两台机器搭建了两个node,组成Cluster
Ubuntu9.04 /P4 2.4/ 1G DDR
WindowsXP SP3/P4 2.8/ 2G DDR
 

你可能感兴趣的:(apache,linux,windows,测试,cassandra,nested)