安装 cassandra,使用基本的cqlsh

安装

> wget http://mirrors.hust.edu.cn/apache/cassandra/3.11.1/apache-cassandra-3.11.1-bin.tar.gz
> tar -zxvf apache-cassandra-3.11.1-bin.tar.gz

Cassandra目录解释

  • bin:一些可执行的命令,包括cqlsh和nodetool。nodetool可以用来检查一个集群是否配置正确或者是执行一系列的维护操作。还包括了几个对SSTables操作的工具,例如sstablekeys用来列出所有的SSTable的keys,sstableloader用来对SSTable进行导出和恢复,sstableupgrade用来对更新Cassandra版本。
  • conf:配置文件目录,cassandra.yaml是主要的配置文件。logback.xml是修改log的配置文件。
  • interface:只有一个文件cassandra.thrift,这个文件定义Thrift语法的RPC接口,Thrift接口可以用来创建JAVA,C++,PYTHON等客户端。但是呢,在4.0已经被删除掉了。
  • javadoc:文档目录。
  • lib:这个目录包含了运行Cassandra需要的所有external库。
  • pylib:这个目录包含了使用cqlsh的Python库。
  • tools:这个目录是一些用来维护Cassandra nodes的工具。

运行

运行前,确保你的JAVA_HOME已经配置完成。

> sudo vim /etc/environmen
=======
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
=======

> source /etc/environment
> echo $JAVA_HOME

启动服务:

> cd /opt/cassandra
> ./bin/cassandra -f

注:-f表示使Cassandra在前台运行而不是在后台运行。输出日志在./logs/system.log

停止服务:

> ./bin/stop-server

会打印出please read the stop-server script before use。

如果我们打开这个文件,会发现有2种办法停止服务。一种是通过启动Cassandra的时候用-p指定PID来停止。第二种是直接通过kill删除进程。

因为我们现在使用-f启动并没有指定PID,使用可以使用第二种方式停止服务。

运行CQL Shell

> ./bin/cqlsh

# 连接到一个指定的服务器
> ./bin/cqlsh localhost 9042

注:可以使用 CQLSHHOSTand CQLSH_PORT变量,他会覆盖命令行里面的参数。

基本用法

帮助:

cqlsh> help;
cqlsh> CREATE_TABLE help;

显示当前cluster:

cqlsh> DESCRIBE CLUSTER;

显示当前存在的keyspaces:

cqlsh> DESCRIBE KEYSPACES ;

这些system_traces system_schema system_auth system system_distributed自带的系统keyspaces是用来做内部管理的,有点和master,temp database类似。Cassandra使用这些keyspaces保存schema,tracing和security information。

显示版本:

cqlsh> SHOW VERSION;

使用keyspace和表

Cassandra keyspace和关系型数据库的概念类似。它可以定义一个或多个(表 or column families)。

在使用命令的时候记得常用tab,会有自动补齐功能。

创建keyspace:

cqlsh> CREATE KEYSPACE my_keyspace WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '1'};

cqlsh> DESCRIBE my_keyspace;

注:class代表使用什么作为replication策略,replication_factor表示这个keyspace的数据需要写到几个node上面去。在production的环境下面,一定不能只使用1个replication_factor

切换到新建的keyspace:

cqlsh> USE my_keyspace ;

在新建的keyspace里面创建表:

cqlsh:my_keyspace> CREATE TABLE user ( first_name text, last_name text, PRIMARY KEY (first_name));

cqlsh:my_keyspace> DESCRIBE user ;

注:也可以直接使用 CREATE TABLE my_keyspace.user ( 这种语法创建表,不需要切换keyspace。

插入数据到表中:

cqlsh:my_keyspace> INSERT INTO user (first_name, last_name ) VALUES ( 'zhe', 'xiao');

cqlsh:my_keyspace> SELECT * FROM user ;

cqlsh:my_keyspace> DELETE last_name FROM user WHERE first_name = 'zhe';

cqlsh:my_keyspace> select * from user ;

cqlsh:my_keyspace> DELETE FROM user WHERE first_name = 'zhe';

清空或者删除表:

cqlsh:my_keyspace> TRUNCATE user ;
cqlsh:my_keyspace> DROP TABLE user ;

你可能感兴趣的:(Bigdata,数据库资料)