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/