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

简介: 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的文章,就有了



1,目标


之前看到一篇关于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客户端读取方法和集群配置以及性能稳定性如何。


目录
相关文章
|
3月前
|
存储 NoSQL Redis
redis中Hash命令的基础操作
redis中Hash命令的基础操作
40 1
|
9月前
|
NoSQL 安全 Redis
Redis6.0新特性——ACL(权限控制列表)实现限制用户可执行命令和KEY
Redis6.0新特性——ACL(权限控制列表)实现限制用户可执行命令和KEY
135 0
|
9月前
|
存储 Java Shell
分布式数据库HBase的常用操作的基本Shell命令的状态/版本/Help命令
HBase是一个分布式数据库系统,支持高性能、可伸缩、实时的数据存储和处理。在HBase中,我们可以使用Shell命令来进行常用的操作,如创建表、插入数据、查询数据、更新数据等。本文将介绍关于分布式数据库HBase的常用操作基本Shell命令的状态/版本/Help命令。
349 0
|
存储 NoSQL 关系型数据库
Redis基础【完整版】:简介和常用命令、全面key操作、五种数据类型的增删改查、Redis与Python交互(附源代码)
Redis基础【完整版】:简介和常用命令、全面key操作、五种数据类型的增删改查、Redis与Python交互(附源代码)
193 0
Redis基础【完整版】:简介和常用命令、全面key操作、五种数据类型的增删改查、Redis与Python交互(附源代码)
|
NoSQL Redis 数据库
Redis基础【完整版】:简介和常用命令、全面key操作、五种数据类型的增删改查、Redis与Python交互(附源代码)2
Redis基础【完整版】:简介和常用命令、全面key操作、五种数据类型的增删改查、Redis与Python交互(附源代码)
207 0
Redis基础【完整版】:简介和常用命令、全面key操作、五种数据类型的增删改查、Redis与Python交互(附源代码)2
|
NoSQL 关系型数据库 MySQL
MongoDB Shell操作(二)
MongoDB Shell操作(二)
135 0
|
NoSQL Shell MongoDB
MongoDB Shell操作(一)
MongoDB Shell操作(一)
128 0
MongoDB Shell操作(一)
|
存储 NoSQL Redis
Redis教程05(hash类型命令介绍)
前面几篇文章给大家介绍了String的常用命令,本篇主要介绍下Hash的常用命令 在实际开发过程中我们肯定会碰到很多需要存储对象的需求,此时hash就比较合适了。hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。 Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。
Redis教程05(hash类型命令介绍)
|
NoSQL
云Mongodb Sharding如何在指定的Shard上执行Profile等命令
阿里云mongodb sharding集群处于安全的考虑用户所有的请求都是都是通过mongos来完成,而不能直连其中节点。而mongos官方目前支持的命令有限,这种情况下,用户想在某一个节点上执行一些命令,例如开启某个shard的primary节点的profile,或者某个shard的primary节点空间比较紧张执行compact命令释放空间,都无法支持;为此云mongo团队开发了一个新的命令runCommandOnShard来满足这部分需求。
3302 0