CentOS下Cassandra安装配置

因为之前和女票一起安装部署过Twitter的zipkin监控系统,zipkin用到的数据库就是Cassandra数据库,因此我们也整理了一个说明。

下载安装包并解压到指定的路径

首先就是要下载Cassandra的安装包,并解压到指定的路径中。

1
2
3
4
$ wget http://ftp.riken.jp/net/apache/cassandra/2.1.2/apache-cassandra-2.1.2-bin.tar.gz
$ tar zxvf apache-cassandra-2.1.2-bin.tar.gz
$ mv apache-cassandra-2.1.2 cassandra
$ mv cassandra /opt/

这里以Cassandra 2.1.2作为介绍,如果大家在使用过程中需要使用其他的版本可以做相应的更改,另外如果下载链接失效了,大家可以去Cassandra的官网上去下载。

优化系统参数,使cassandra达到最优运行效率

在解压完成之后就是要优化Cassandra的系统参数,使Cassandra数据库在运行的时候达到最优的效率。

1
2
3
4
5
6
7
8
9
10
11
12
$ echo 0 > /proc/sys/vm/zone_reclaim_mode
$ vim /etc/security/limits.conf # 加入以下设置
* - memlock unlimited
* - nofile 100000
* - nproc 32768
* - as unlimited
$ vim /etc/security/limits.d/90-nproc.conf # 加入以下设置
* - nproc 32768
$ vim /etc/sysctl.conf # 加入以下设置
vm.max_map_count = 131072
$ sysctl -p
$ swapoff --all # 保持所有服务器时间一致

具体的方式就在上面那些命令行中,而且后面又备注,我也就不一一赘述了。

配置cassandra集群

因为Cassandra的使用一般都是集群的形式,我们在部署zipkin的时候也是采用了集群的形式,所以要对Cassandra进行一些配置来在集群上使用。

1
2
3
4
5
6
7
8
9
$ vim /opt/cassandra/conf/cassandra.yaml # 修改如下配置
cluster_name: 'ZipkinCassandraCluster'
num_tokens: 256
listen_address: 192.168.xxx.xxx # 这里需要修改为本地的静态IP地址,目的是其他节点可以远程连接
rpc_address: 192.168.xxx.xxx # 这里需要修改为本地的静态IP地址,目的是其他节点可以远程连接
seeds: "ip1,ip2,ip3" # 这里的ip1,ip2,ip3为cassandra集群所有节点的ip地址,逗号分割
commitlog_directory /data/cassandra_commitlog # 此目录需要配置到一块单独硬盘上
concurrent_reads: 64 # 具体数值为硬盘个数x16
concurrent_writes: 192 # 具体数值为cpu核数x8

在配置完成之后启动之前要清除Cassandra的系统数据。

1
2
$ rm -rf /opt/cassandra/data/data/system/*
$ rm -rf /opt/cassandra/logs/system.log

启动第一个Cassandra节点

在配置完成之后就可以启动Cassandra的第一个节点了。

1
$ /opt/cassandra/bin/cassandra #使用Supervisor启动cassandra

如果Cassandra数据库启动正常的话,会有如下输出。
Cassandra

创建zipkin数据库

如果Cassandra数据库节点能够成功启动,就可以新建zipkin使用到的数据库了。

1
2
3
4
$ wget https://raw.githubusercontent.com/twitter/zipkin/master/zipkin-cassandra/src/schema/cassandra-schema.txt
$ vim cassandra-schema.txt
# 修改里面的地址:connect 127.0.0.1/9160;为本机静态ip地址
$ /opt/cassandra/bin/cassandra-cli -host xxx.xxx.xxx.xxx -port 9160 -f cassandra-schema.txt

启动其他节点

在新建数据库完成之后就可以挨个启动其他节点了,但是在启动之前需要注意的是,每个Cassandra的节点配置文件应该保持一致。

1
$ /opt/cassandra/bin/cassandra # 请使用Supervisor启动cassandra

本文作者:Qiu Qingyu
版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 CN许可协议。转载请注明出处!
本文永久链接:http://qiuqingyu.cn/2015/12/11/CentOS下Cassandra安装配置/