Chinaunix首页 | 论坛 | 博客
  • 博客访问: 236358
  • 博文数量: 54
  • 博客积分: 2656
  • 博客等级: 少校
  • 技术积分: 1020
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-19 21:06
文章分类

全部博文(54)

文章存档

2016年(3)

2014年(8)

2013年(4)

2012年(2)

2011年(29)

2010年(8)

我的朋友

分类:

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扩展,可参照:

 

参考文章:

阅读(1212) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~