Cassandra使用指南(一)
1简介
Apache Cassandra是一个开源的、分布式、无中心、弹性可扩展、高可用、容错、一致性可调、面向列的数据库,它基于Amazon Dynamo的分布式设计和Google BigTable的数据模型,由Facebook创建,已经在一些最流行的网站中取得了应用。
2快速入门
2.1安装
由于Cassandra采用Java语言开发,所以在安装Cassandra前必须安装JDK。
下载jdk-7u75-linux-x64.tar.gz(Cassandra 2.x要求JDK版本在1.7以上)
解压jdk-7u75-linux-x64.tar.gz到app目录,
命令:tar -zxvf jdk-7u75-linux-x64.tar.gz
下载apache-cassandra-2.0.12-bin.tar.gz
解压apache-cassandra-2.0.12-bin.tar.gz到app目录,
命令:tar –zxvf apache-cassandra-2.0.12-bin.tar.gz
注意:本文所举的例子都是基于CentOS 6.5 64位操作系统、JDK 1.7u75、Cassandra2.0.12。
2.2配置
1. 配置JDK和Cassandra环境变量:
vi /etc/profile
在打开的文件末尾,增加如下代码:
JAVA_HOME="/app/jdk1.7.0_75"
CASSANDRA_HOME="/app/apache-cassandra-2.0.12"
CLASS_PATH="$JAVA_HOME/lib:$JAVA_HOME/jre/lib"
PATH=".:$PATH:$JAVA_HOME/bin:$CASSANDRA_HOME/bin"
export JAVA_HOME CASSANDRA_HOME
执行下如下命令 使配置生效:
source /etc/profile
运行如下命令检查JDK是否安装成功:
java -version
能够看到Java版本信息说明JDK安装成功。
在192.168.1.55和192.168.1.56机器完成了2.1安装和2.2配置后,下面配置集群,在集群中192.168.1.55是种子节点。
2. 节点192.168.1.55(118.121.21.122)配置
更改cassandra主配置文件——CASSANDRA_HOME/conf/cassandra.yaml,并打开防火墙
# 客户端与节点之间的通信地址,默认值为localhost,
# 还可以设置为0.0.0.0、IP地址、主机名、空,
# 多数据中心推荐使用外网IP
rpc_address: 118.121.21.122
集群配置:
修改cassandra.yaml的以下内容:
# 集群名称,填入节点想加入的集群名,不要使用默认的集群名称——Test Cluster
cluster_name: 'My Cluster'
# 定位节点和路由请求
endpoint_snitch: GossipingPropertyFileSnitch
# 种子节点,注意冒号(:)与IP有一个空格,
# 多个种子节点的IP地址之间用英文逗号(,)分隔
# 多数据中心推荐使用外网IP
- seeds: "118.121.21.122"
# 节点之间的通信地址。如果是单节点集群,可设置为默认值localhost;
# 如果是节点已配置hostname、域名解析等,可设置为空,
# Cassandra调用InetAddress.getLocalHost()获取本机IP地址,
# 如果Cassandra找不到正确的地址,则必须指定IP地址或者主机名,
# 不能设置为0.0.0.0
# 多数据中心推荐使用外网IP
listen_address: 118.121.21.122
修改CASSANDRA_HOME/conf/cassandra_rackdc.properties文件以下内容:
# 节点所属数据中心名字
dc=DC1
# 节点所属机架名字
rack=RAC1
3. 节点192.168.1.56(118.121.21.123)配置
更改cassandra主配置文件——CASSANDRA_HOME/conf/cassandra.yaml,并打开防火墙
# 客户端与节点之间的通信地址,默认值为localhost,
# 还可以设置为0.0.0.0、IP地址、主机名、空
# 多数据中心推荐使用外网IP
rpc_address: 118.121.21.123
集群配置:
修改cassandra.yaml的以下内容:
# 集群名称,填入节点想加入的集群名,不要使用默认的集群名称——Test Cluster
cluster_name: 'My Cluster'
# 定位节点和路由请求
endpoint_snitch: GossipingPropertyFileSnitch
# 192.168.1.56节点以192.168.1.55为参考点,从后者获取数据。
# 种子节点,注意冒号(:)与IP有一个空格,新节点从种子节点获取数据,
# 多个种子节点IP地址之间用英文逗号(,)分隔
# 多数据中心推荐使用外网IP
- seeds: "118.121.21.122"
# 节点之间的通信地址。如果是单节点集群,可设置为默认值localhost;
# 如果是节点已配置hostname、域名解析等,可设置为空,
# Cassandra调用InetAddress.getLocalHost()获取本机IP地址,
# 如果Cassandra找不到正确的地址,则必须指定IP地址或者主机名,
# 不能设置为0.0.0.0
# 多数据中心推荐使用外网IP
listen_address: 118.121.21.123
修改CASSANDRA_HOME/conf/cassandra_rackdc.properties文件以下内容:
# 节点所属数据中心名字
dc=DC1
# 节点所属机架名字
rack=RAC1
查看集群是否配置成功:
nodetool status
显示以下示例信息:
Datacenter: DC1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 118.121.21.122 65.66KB 256 100.0% 9c8d5f3a-df25-44be-9622-2783fe42ae56 RAC1
UN 118.121.21.123 55.88KB 256 100.0% 16a598f0-d87b-429d-b9cb-9a20405225b2 RAC1
2.3启动/停止
后台方式启动:/app/apache-cassandra-2.0.12/bin/cassandra
后台方式停止:pkill -f CassandraDaemon
前台方式启动:/app/apache-cassandra-2.0.12/bin/cassandra -f
前台方式停止:按 "Control+C"