欢迎投稿

今日深度:

安装 Cassandra 服务,使用命令行进行key操作,很简

安装 Cassandra 服务,使用命令行进行key操作,很简单,cassandrakey




1,目标

http://www.csdn.net/article/2013-06-11/2815734-instagram-making-the-switch-to-cassandra-from-redis
http://blog.sina.com.cn/s/blog_6df127760101e8b7.html

之前看到一篇关于cassandra的文章,就有了想实践的想法。

官网:http://cassandra.apache.org/


2,关于  Cassandra

Apache Cassandra是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据,集Google BigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身。Facebook于2008将 Cassandra 开源,此后,由于Cassandra良好的可扩放性,被Digg、Twitter等知名Web 2.0网站所采纳,成为了一种流行的分布式结构化数据存储方案。


Cassandra 的名称来源于希腊神话,是特洛伊的一位悲剧性的女先知的名字,因此项目的Logo是一只放光的眼睛。
这个项目由就职于Facebook的Avinash Lakshman(也是Amazon Dynamo的作者之一)和Prashant Malik在为Facebook的Inbox编写[1]。2008年,Facebook将项目开源,Cassandra在2009年成为了Apache软件基金会的Incubator项目,并在2010年2月走出孵化器,成为正式的基金会项目。

3,安装 Cassandra

其中 datastax 公司提供了rpm安装,选择这个方式安装,因为安装升级方便。而且文档整理的非常好。


http://www.datastax.com/documentation/gettingstarted/index.html


1,只限制java1.6版本
java -version

2,限制操作系统(RHEL 5.x/CentOS 5.x only)


rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

3,增加repos

vi /etc/yum.repos.d/datastax.repo

添加:
[datastax]
name= DataStax Repo for Apache Cassandra
baseurl=http://rpm.datastax.com/community
enabled=1
gpgcheck=0

4,安装dsc1.2
sudo yum install dsc12

安装成功,启动:

service cassandra start

查看状态

nodetool status

修改配置文件

vi /etc/cassandra/conf/cassandra.yaml 

可以修改data路径,log路径,线程数

4,使用cassandra-cli, 进入命令行模式

 1)创建一个key space

CREATE KEYSPACE demo

 with placement_strategy = 'org.apache.cassandra.locator.SimpleStrategy'
and strategy_options = {replication_factor:1};

2)创建一个表:

use demo;


CREATE COLUMN FAMILY users

                 WITH comparator = UTF8Type
                 AND key_validation_class=UTF8Type
                 AND column_metadata = [
                 {column_name: full_name, validation_class: UTF8Type}
                 {column_name: email, validation_class: UTF8Type}
                 {column_name: state, validation_class: UTF8Type}
                 {column_name: gender, validation_class: UTF8Type}
                 {column_name: birth_year, validation_class: LongType}
                ];

3)设置user属性:

SET users['bobbyjo']['full_name']='Robert Jones';

SET users['bobbyjo']['email']='bobjones@gmail.com';
SET users['bobbyjo']['state']='TX';
SET users['bobbyjo']['gender']='M';
SET users['bobbyjo']['birth_year']='1975';    

SET users['yomama']['full_name']='Cathy Smith';
SET users['yomama']['state']='CA';
SET users['yomama']['gender']='F';
SET users['yomama']['birth_year']='1969';

4)读取用户

LIST users;
GET users[utf8('bobbyjo')][utf8('full_name')];

5)删除属性
DEL users ['yomama']['coupon_code'];
删除一行
DEL users ['yomama'];

6)删除一列

DROP COLUMN FAMILY users;

删除空间
DROP KEYSPACE demo;

5,总结

cassandra安装还是比较容易的。命令行操作也很方便。但是比较mysql语法稍微有些不同。

接下来继续研究java客户端读取方法和集群配置以及性能稳定性如何。


www.htsjk.Com true http://www.htsjk.com/cassandra/11294.html NewsArticle 安装 Cassandra 服务,使用命令行进行key操作,很简单,cassandrakey 1,目标 http://www.csdn.net/article/2013-06-11/2815734-instagram-making-the-switch-to-cassandra-from-redis http://blog.sina.com.cn/s/blog_6df127760101e8b7....
评论暂时关闭