一,Cassandra特点
1,分布式数据存储系统:每个节点都会存放部分数据的一个副本,如果一个节点down掉,另一个副本会相应请求
2,无中心架构:没有节点会承担特殊的管理任务,所有节点功能完全一样,不存在单点失效的问题
3,弹性水平扩展
4,可调节的一致性:数据一致性和性能二者不可兼得,这属于大数据环境下普遍存在的问题,需要做出取舍
5,无schema
二,Cassandra单节点安装
OS版本:Red Hat Enterprise Linux Server release 6.4 (Santiago)
Cassandra版本:2.1.1
Java版本:
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
1,下载Cassandra安装包
首先去Cassandra官网下载最新版本压缩包:http://cassandra.apache.org/download/
2,安装JDK并配置环境变量
Cassandra 2.0以及2.0之后的版本运行所需的最低Java版本为JDK 7update25,查看$CASSANDRA_HOME/conf/cassandra-env.sh可以看到:
if [ "$JVM_VERSION" \< "1.7" ] ; then
echo "Cassandra 2.0 and later require Java 7u25 or later."
exit 1;
fi
if [ "$JVM_VERSION" \< "1.8" ] && [ "$JVM_PATCH_VERSION" -lt "25" ] ; then
echo "Cassandra 2.0 and later require Java 7u25 or later."
exit 1;
fi
JDK安装完成后,需要配置好JAVA_HOME环境变量,同时也需要配置好CASSANDRA_HOME环境变量
[sean@localhost ~]$ echo $JAVA_HOME
/home/sean/jdk1.7.0_67
[sean@localhost ~]$ echo $CASSANDRA_HOME
/home/sean/apache-cassandra-2.1.1
3,修改JVM配置
JVM配置文件为$CASSANDRA_HOME/conf/cassandra-env.sh,其中有很多JVM配置如最大堆内存等等,这里不详细介绍了
4,修改Cassandra配置
Cassandra配置文件为$CASSANDRA_HOME/conf/cassandra.yaml,比较重要的配置项如下:
默认集群名(cluster_name):Test Cluster
默认缓存文件存放路径(saved_caches_directory):$CASSANDRA_HOME/data/saved_caches
默认数据文件存放路径(data_file_directories):$CASSANDRA_HOME/data/data
默认commitlog存放路径(commitlog_directory):$CASSANDRA_HOME/data/commitlog
默认的Cassandra服务地址(rpc_address):localhost
默认的Cassandra服务端口(rpc_port):9160
默认的CQL本地服务端口(native_transport_port): 9042
5,修改日志配置
从2.1+版本开始,Cassandra使用logback记录日志(参见Cassandra启动文件$CASSANDRA_HOME/bin/cassandra)
cassandra_parms="-Dlogback.configurationFile=logback.xml"
cassandra_parms="$cassandra_parms -Dcassandra.logdir=$CASSANDRA_HOME/logs"
查看$CASSANDRA_HOME/conf/logback.xml,可以找到Cassandra系统日志存放路径
<file>${cassandra.logdir}/system.log</file>
6,启动服务
[sean@localhost apache-cassandra-2.1.1]$ ./bin/cassandra
三,连接Cassandra
1,Cassandra命令行界面
不推荐这种连接方式,Cassandra命令行界面将会在Cassandra 3.0版本中移除
[sean@localhost apache-cassandra-2.1.1]$ ./bin/cassandra-cli -h 127.0.0.1 -p 9160
Connected to: "Test Cluster" on 127.0.0.1/9160
Welcome to Cassandra CLI version 2.1.1
The CLI is deprecated and will be removed in Cassandra 3.0. Consider migrating to cqlsh.
CQL is fully backwards compatible with Thrift data; see http://www.datastax.com/dev/blog/thrift-to-cql3
Type 'help;' or '?' for help.
Type 'quit;' or 'exit;' to quit.
[default@unknown]
2,使用Cassandra交互式命令行接口cqlsh
[sean@localhost apache-cassandra-2.1.1]$ ./bin/cqlsh 127.0.0.1 9042
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 2.1.1 | CQL spec 3.2.0 | Native protocol v3]
Use HELP for help.
cqlsh>