Ubuntu安装Cassandra-3.11.1

简介

Apache Cassandra是一个开源分布式NoSQL数据库系统。最初由Facebook创建,集Google BigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身。

文档

cassandra的官方文档主要是wiki:http://wiki.apache.org/cassandra
另外,DataStax公司提供了更为详细的第三方文档可供参考学习:http://docs.datastax.com/en/cassandra/2.1

基本环境

OS: Ubuntu 14.04 x64
JDK: jdk-1.80_144.tar.gz
Cassandra: apache-cassandra-3.11.1-bin.tar.gz

JRE环境配置

1.首先检查一下需要的JRE环境:

$ java –version

当然我们可以打开${CASSANDRA_HOME}/conf/cassandra-env.sh,搜索关键字JVM_VERSION,如下

Ubuntu安装Cassandra-3.11.1_第1张图片

来确认安装的cassandra和本地的JDK版本是一致的。

安装Cassandra

1.首先从官网下载:
http://cassandra.apache.org/download/
找到一个合适的下载链接:
wget http://mirrors.hust.edu.cn/apache/cassandra/3.11.1/apache-cassandra-3.11.1-bin.tar.gz
也可以手动下载后再传到Linux中
2.解压并安装:

$ sudo tar -zxvf apache-cassandra-3.11.1-bin.tar.gz -C /usr/local/software

3.配置环境变量

## Setting Cassandra
export CASSANDRA_HOME=/usr/local/software/apache-cassandra-3.11.1
export PATH=${CASSANDRA_HOME}/bin:$PATH

启动Cassandra

进入解压后的目录:
启动的话,直接输入: cassandra ,即可
如果启动过程没有什么异常的话,那么现在cassandra就已经启动成功了:

如果没有报什么奇奇怪怪的ERROR,然后看到 Node /x.x.x.x state jump to NORMAL,这样cassandra就算安装完成了。

Note: xxxxxxx  这个问题是因为同一个键空间里存在不同复制策略的表,不影响使用,但是最好建表和修改表的时候注意一下。


也可以在在bin目录下使用./nodetool status 查看集群信息确认一下

UN 表示的是该服务器的状态,UN是运行中,DN是宕机。


注意:Cassandra默认运行在7000端口,早版本是运行在9160端口,我们可以检查一下:

Cassandra2.1开始,客户端(cqlsh)默认端口改为9042了,Thrift客户端监听9160端口

netstat -nltp | grep 7000
显示:

停止Cassandra

如果想停止的话,直接Ctrl+C就可以了。
注:” -f” 选项指定cassandra在前台运行,如果不加的话会在后台运行

如果要结束在后台运行的cassandra,输入:

$ ps -ef | grep cassandra  或者 $ ps -aux | grep cassandra
查询到该进程的pid,然后kill:
$ sudo kill pid
这里pid替换成你实际的pid即可。

使用cqlsh客户端工具

cqlsh是Cassandra的一个交互式的命令行界面,通过cqlsh,我们可以执行CQL(Cassandra Query Language)语句,使用CQL我们可以定义模式,插入数据,执行查询等等。
运行以下命令可以连接到本地Cassandra实例:
$ bin/cqlsh
如果连接成功,会提示如下:

上面显示我们连接到了一个叫Test Cluster的集群,这是默认的名字。

在cqlsh中命令要以”;”结尾,这跟MySQL等其他客户端是一样的,并且支持TAB补全及提示功能,这点比较方便,比如一个命令记不全或者一个命令会有哪些选项时,可以用TAB列出。

## 先建一个keyspace--表的命名空间:
CREATE KEYSPACE mykeyspace WITH replication = {'class':'SimpleStrategy', 'replication_factor': 1};
#然后切换到该keyspace:
cqlsh> use mykeyspace ;
## 接着建表(叫做表可能不太准确):
create TABLE t_user (
    user_id int PRIMARY KEY,
    first_name text,
    last_name text
);
## 插入几条数据:
insert into users (userid, fname, lname ) VALUES ( 1,'john','smith');
insert into users (userid, fname, lname ) VALUES ( 2,'john','zhangsan');
insert into users (userid, fname, lname ) VALUES ( 3,'john','smith');

操作效果如下:


现在我们执行以下查询看看:

select * from t_user;

Ubuntu安装Cassandra-3.11.1_第2张图片

需要注意的是,如果要执行带where条件的查询,那么条件中指定的列必须先建索引,否则会出错:

select * from t_user where first_name = 'john';
InvalidRequest: code=2200 [Invalid query]message="No secondary indexes on the restricted columns support theprovided operators: "


先建索引:
create INDEX on t_user(first_name);


然后再执行刚才的查询就好了:

Ubuntu安装Cassandra-3.11.1_第3张图片

使用exit或quit可以退出cqlsh。
现在我们完成了基本的配置,但是我们现在只有一个节点,通常一个Cassandra集群中存在多个节点,配置多个节点的集群也非常简单,基本上就是重复以上步骤,然后做些小的调整即可。

你可能感兴趣的:(大数据,-,Cassandra)