Cassandra + Thrift 安装使用笔记

时间:2021-06-04 04:47:15
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 andSettings/{你的用户名}/下    启动后看到的界面内容比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.184cluster   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  

Cassandra + Thrift 安装使用笔记