NND,搞了我6个小时,失败10来次,终于把Cassandra集群弄好了,开心J

 

我们使用的是DataStax Community Edition, ,官网对于集群控制中心(opscenter)的配置太简略了,我尝试了10多次才搞定:网上应该没有比我这份更详细的配置说明了。

 

以下是详细步骤(我全装在 bleum 192.168.129.34 Linux VM 上了)

 

Part 1: 安装Python

先安装python (这里吃了好多苦头,其实这个集群只支持python2.5,2,6,2,7,  然而事实只有2.5可以。结果我先下了个3.1,后来Linux自带有个2.4,试了下都不行,最后从2.7开始版本依次递减的尝试,终于2.5可以了)

 

编译安装python,将其安装到/usr/local/python2.5目录

 

wget http://www.python.org/ftp/python/2.5.4/Python-2.5.4.tgz

tar -zxvf Python-2.5.4.tgz

cd Python-2.5.4

./configure --prefix=/usr/local/python2.5

make

make install

 

安装Python 网络开发框架Twisted

 

wget http://twistedmatrix.com/Releases/Twisted/10.0/Twisted-10.0.0.tar.bz2

tar -jxvf Twisted-10.0.0.tar.bz2

cd Twisted-10.0.0

python setup.py install

 

配置Python 环境变

vi ~/bashrc

export PYTHON=/usr/local/python2.5/bin/python

 

Part 2:搭建Cassandra 集群

假定所有的软件都安装在 ~/datastax 目录

 

下载Cassandra发布包: (我们这里有3个包,依次是cassandra服务器包,基于web的可视的集群监控器包,集群上的例子demo)

wget http://downloads.datastax.com/community/dsc.tar.gz

wget http://downloads.datastax.com/community/opscenter.tar.gz

wget http://downloads.datastax.com/community/dsc-1.0.2-demo-bin.tar.gz

 

 

解压这些包:

tar -zxvf dsc-cassandra-1.0.9-bin.tar.gz

tar -zxvf opscenter-2.0-free.tar.gz

tar -zxvf dsc-1.0.2-demo-bin.tar.gz

 

配置环境变量:

vi ~/.bashrc

add the following environment variable setting and reconfigure the PATH:

export CASSANDRA_HOME=/home/tbenjamin/datastax/dsc-cassandra-1.0.9

export DSCDEMO_HOME=/home/tbenjamin/datastax/dsc-1.0.2/demos/portfolio_manager

export OPSC_HOME=/home/tbenjamin/datastax/opscenter-2.0

export PATH=$PATH:$JAVA_HOME/bin:$CASSANDRA_HOME/bin:$DSCDEMO_HOME/bin:$OPSC_HOME/bin

 

最终如下图所示:

 

让环境变量生效:

source ~/.bashrc

 

创建Cassandra 数据目录

cd ~/datastax

mkdir cassandra-data

 

现在配置并且运行节点

cd /home/tbenjamin/datastax/dsc-cassandra-1.0.9/conf

vi cassandra.yaml

 

并且作如下的改动:

initial_token:改为

initial_token:0

 

/var/lib/cassandra/data改为

/home/tbenjamin/datastax/cassandra-data

 

commitlog_directory: /var/lib/cassandra/commitlog改为

commitlog_directory: /home/tbenjamin/datastax/cassandra-data/commitlog

 

saved_caches_directory: /var/lib/cassandra/saved_caches改为

saved_caches_directory: /home/tbenjamin/datastax/cassandra-data/saved_caches

 

配置cassandra服务器日志位置

cd /home/tbenjamin/datastax/dsc-cassandra-1.0.9/conf

vi log4j-server.properties

 

并且作如下的改动:

log4j.appender.R.File=/var/log/cassandra/system.log改为

log4j.appender.R.File=/home/tbenjamin/datastax/cassandra-data/system.log

 

配置demo应用程序的指向正确的cassandra安装目录

vi $DSCDEMO_HOME/bin/pricer

 

并且作如下的改动:

CASSANDRA_HOME=/usr/share/cassandra改为

CASSANDRA_HOME=/home/tbenjamin/datastax/dsc-cassandra-1.0.9

 

seed_provider中的 127.0.0.1改为 192.168.129.34
 
listen_address改为192.168.129.34

 

 

Part 3: 启动集群和应用:

下面就是启动cassandra和集群了,因为我们已经添加bin到环境变量PATH,所以不用添加路径

 

Cassandra 服务器部分:

启动Cassandra

cassandra

 

 

启动Cassandra

nodetool ring –h localhost

可以查看刚才配置的节点在集群中的信


 

 

 

 

OpsCenter web集群管理程序部分:

OpsCenter是一个用于管理Cassandra集群的web应用程序:(目前只支持python2.5 ,2.6 ,2.7,我这里失败了好多次,郁闷,最后我在python2.5上尝试成功了)

 

 

配置opscenter web 应用程序

vi ~/datastax/opscenter-2.0/conf/opscenterd.conf

interface=127.0.0.1改成public地址(比如192.168.129.34)

 

 

启动opscenter

opscenter

 

启动opscenter

cd  ~/datastax/opscenter-2.0/agent/bin

./opscenter-agent

 

访问集群信息主页:http://192.168.129.34:8888


 

 

Sample应用部分:

 

安装集群应用(应用名为Portfolio)用到的Sample

cd $DSCDEMO_HOME/bin

./pricer -o INSERT_PRICES


 

./pricer -o UPDATE_PORTFOLIOS


 

./pricer -o INSERT_HISTORICAL_PRICES -n 100


 

启动Sample应用

这是一个可以自运行的jar文件,我们让其在后台运行

cd $DSCDEMO_HOME/website

java -jar start.jar &


 

 

查看Sample应用http://192.168.129.34:8983/portfolio/