首页 > 数据库技术 > 详细

Cassandra分布式NoSQL数据库安装部署指导

时间:2015-06-03 02:20:07      阅读:261      评论:0      收藏:0      [点我收藏+]
Apache Cassandra是一套开源分布式 Key-Value 存储系统。它最初由 Facebook 开发用于储存特别大的数据。Cassandra适合于实时事务处理和提供交互型数据。Cassandra的数据模型是基于列族(Column Family)的四维或五维模型。它借鉴了 Amazon 的 Dynamo 和 Google‘s BigTable 的数据结构和功能特点,采用 Memtable 和 SSTable 的方式进行存储。在 Cassandra 写入数据之前,需要先记录日志 ( CommitLog ),然后数据开始写入到 Column Family 对应的 Memtable 中,Memtable 是一种按照 key 排序数据的内存结构,在满足一定条件时,再把 Memtable的数据批量的刷新到磁盘上,存储为SSTable。本文主要来介绍一下关于Cassandra的安装配置方法。
注:本文默认您已经安装了JDK环境

一、Cassandra节点的安装和配置
1.下载Cassandra
wget http://www.apache.org/dyn/closer.cgi?path=/cassandra/2.1.5/apache-cassandra-2.1.5-bin.tar.gz
2.解压缩文件
tar -zxvf apache-cassandra-2.1.5-bin.tar.gz
mv  apache-cassandra-2.1.5-rc1 cassandra 
3.Cassandra的目录说明
bin  存放与 Cassandra 操作的相关脚本  
conf  存放配置文件的目录  
interface  Cassandra 的 Thrift 接口定义文件,可以用于生成各种编程语言的接口代码  
Javadoc  源代码的 javadoc  
lib  Cassandra 运行时所需的 jar 包  
4.配制Cassandra节点的数据存储目录
#修改配制文件 storage-conf.xml
#cd conf
 <CommitLogDirectory>/data/db/lib/cassandra/commitlog</CommitLogDirectory> 
<DataFileDirectories> 
 <DataFileDirectory>/data/db/lib/cassandra/data</DataFileDirectory> 
</DataFileDirectories>
5.修改日志配制文件 log4j.properties
 # 日志路径
 #log4j.appender.R.File=/var/log/cassandra/system.log 
 # 配置后的日志路径 : 
 log4j.appender.R.File=/data/db/log/cassandra/system.log
6.创建文件存放数据和日志的目录
 # mkdir – p /data/db/lib/cassandra 
 # mkdir – p /data/db/log/Cassandra
7.配制完成后,启动 Cassandra
# bin/Cassandra
 INFO 09:29:12,888 Starting up server gossip 
 INFO 09:29:12,992 Binding thrift service to localhost/127.0.0.1:9160
#看到这两行启动回显信息时,说明 Cassandra 已启动成功。
8.连接到 Cassandra 并添加、获取数据
#bin/cassandra-cli --host localhost --port 9160 
#cassandra> 
#cassandra> set Keyspace1.Standard2[‘studentA‘][‘age‘] = ‘18‘
#Value inserted 
#cassandra> get Keyspace1.Standard2[‘studentA‘] 
#=> (column=age, value=18, timestamp=1272357045192000) 
#Returned 1 results
9.停止Cassandra服务
 # ps -ef | grep cassandra 
 # kill -9 16250
二、补充
Cassandra配制文件storage-conf.xml相关配制说明
#storage-conf.xml
 <!-- 集群时显示的节点名称 --> 
 <ClusterName>Test Cluster</ClusterName> 
 <!-- 节点启动时,是否自动加入到集群中,默认为 false --> 
 <AutoBootstrap>false</AutoBootstrap> 
 <!-- 集群的节点配制 --> 
 <Seeds> <Seed>127.0.0.1</Seed> </Seeds> 
 <!-- 节点之间通迅的监听地址 --> 
 <ListenAddress>localhost</ListenAddress> 
 <!--  基于 Thrift 的 cassandra 客户端监听地址,集群时设为:0.0.0.0 表示侦听所有客户端 , 默认为:localhost  --> 
 <ThriftAddress>localhost</ThriftAddress> 
 <!-- 客户端连接的端口 --> 
 <ThriftPort>9160</ThriftPort> 
 <!-- FlushDataBufferSizeInMB   将 memtables 上的数据写入在 Disk 上,超过设定好的限制大小时 ( 默认 32M),则将数据写入磁盘,
   FlushIndexBufferSizeInMB  超过设定的时长(默认 8 分钟)后,将 memtables 由的数据写入磁盘中--> 
 <FlushDataBufferSizeInMB>32</FlushDataBufferSizeInMB> 
 <FlushIndexBufferSizeInMB>8</FlushIndexBufferSizeInMB> 
 <!-- 节点之间的日志记录同步模式。默认:periodic, 对应配制 CommitLogSyncPeriodInMS 启动 batch 时,则对应的配制CommitLogSyncBatchWindowInMS --> 
 <CommitLogSync>periodic</CommitLogSync> 
 <!-- 默认为每 10 秒同步一次日志记录 --> 
 <CommitLogSyncPeriodInMS>10000</CommitLogSyncPeriodInMS> 
 <!-- <CommitLogSyncBatchWindowInMS>1</CommitLogSyncBatchWindowInMS> -->

Cassandra分布式NoSQL数据库安装部署指导

原文:http://blog.chinaunix.net/uid-25723371-id-5062942.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!