Cassandra 集群配置
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