分类:
2010-12-19 21:27:28
1 下载Cassandra
2 安装Cassandra
tar -zxvf cassandra-$VERSION.tar.gz
mv cassandra-$VERSION /opt/cassandra
sudo mkdir -p /var/log/cassandra
sudo mkdir -p /var/lib/cassandra
3.配置conf/storage-conf.xml
前提:假设有三台机器:sudo vi /etc/hosts
192.168.1.102 cassandra1
192.168.1.103 cassandra2
192.168.1.104 cassandra3
(1) 配置集群节点信息
cassandra1
cassandra2
cassandra3
(2) 配置集群节点之间交互的监听地址
本节点ip
(3) 配置Thrift Server监听的地址
0.0.0.0
(4) 配置集群的名称(以cassandra.com为例子,可以根据实际不同,但同一cluster的所有节点的clustername必须相同的)
cassandra.com
5() 开启节点自动加入集群的功能
true
(6) 配置数据的备份数
3
(7)调节Memory和Disk的性能
需要根据实际的情况来配置,可以参考Wiki。
4.运行
bin/cassandra
如果看到:INFO – Starting up server gossip,说明启动成功。
5.测试(以cassandra1为例)
cassandra-cli –host cassandra1 –port 9160
如果成功,则如下显示
Connected to cassandra1/9160
Welcome to cassandra CLI.
Type ‘help’ or ‘?’ for help. Type ‘quit’ or ‘exit’ to quit.
cassandra>
6. 查看集群运行情况
bin/nodeprobe –host cassandra1 ring
二.到目前为止,cassandra已经配置完毕,但如果你想编程的话,可以用Thrift这个中间件来实现。
thrift属于facebook.com技术核心框架之一,使用不同开发语言开发的系统可以通过该框架实现彼此间的通讯,开发者只需编辑一份thrift脚本,即可自动获得其它开发语言的代码(比如 c++、java、 python、ruby、 c#、 haskell、 ocmal、 erlang、 cocoa、 php、 squeak)。
thrift侧重点是构建夸语言的可伸缩的服务,特点就是支持的语言多,同时提供了完整的rpc service framework,可以很方便的直接构建服务,不需要做太多其他的工作。服务端可以根据需要编译成simple | thread-pool | threaded | nonblocking等方式;
thrift支持多种协议格,Thrift的代码实现,有专门的TProtocol和TTransport抽象,相互配合,可以实现多种协议,方便集成各种传输方式,目前支持xml、json等。
使用了epool!
Apache软件基金会已将Thrift作为孵化器项目纳入其中。
thrift目前不支持Windows平台,不过有牛人已经在cygwin上编译调试通过了。
官方开发白皮书:http://incubator.apache.org/thrift/static/thrift-20070401.pdf
以下是安装Thrift关于php的支持
下载 http://incubator.apache.org/thrift/download/
安装
#apt-get install sun-java6-jdk sun-java6-jre
#apt-get install libboost-dev automake libtool flex bison pkg-config g++ apache2 php5 php5-cli
tar xvf thrift-0.2.0.tar
cd thrift-0.2.0
#./configure
#make
#./compiler/cpp/thrift --gen php PATH-TO-CASSANDRA/interface/cassandra.thrift
#cd lib/php/src/ext/thrift_protocol/
#apt-get install php5-dev
#phpize
#./configure -enable-thrift_protocol
#make
//将新生成的so文件./lib/php/src/ext/thrift_protocol/modules/thrift_protocol.so 拷贝到php对应的目录下,配置php.ini文件
extension=thrift_protocol.so
生成的新的文件gen-php目录,将此目录重命名为packages,移动到/home/sms/thrift-0.2.0/lib/php/src目录下,与protocol,transport同级目录
注意:
Before working with Cassandra and PHP make sure that your PHP installation has APC enabled. If it does not please re-compile PHP and then recompile Thrift. APC drastically increases the performance of Thrift Interface
安装APC扩展,可参照:
参考文章: