Cassandra两种登录方式cassandra-cli / csqlsh

简介: (1)cassandra-clicassadnra-cli命令在cassandra2.2中被抛弃,以后登录访问cassandra可以使用cqlsh[tnuser@sht-sgmhadoopdn-02 cassandra]$ cassandra-cli -h 172.

(1)cassandra-cli

cassadnra-cli命令在cassandra2.2中被抛弃,以后登录访问cassandra可以使用cqlsh

[tnuser@sht-sgmhadoopdn-02 cassandra]$ cassandra-cli -h 172.16.101.59 -p 9160

Connected to: "mycluster" on 172.16.101.59/9160

Welcome to Cassandra CLI version 2.1.18


[default@unknown] create keyspace twissandra;

    with placement_strategy = 'org.apache.cassandra.locator.SimpleStrategy'

    and strategy_options = {replication_factor:1};

5200ec35-6f27-3f8f-a969-5f91b4308d40


[default@unknown] use twissandra;

Authenticated to keyspace: twissandra



[default@twissandra] help create column family;

[default@twissandra] create column family users with comparator = UTF8Type;

8eadec66-a110-32b4-b873-5bfaaac2ddf5



[default@twissandra] update column family users with

    column_metadata =

     [

    {column_name: first, validation_class: UTF8Type},

    {column_name: last, validation_class: UTF8Type},

    {column_name: age, validation_class: UTF8Type, index_type: KEYS}

    ];

ccdbe046-183a-307f-8e38-c1f44400f9fa


[default@twissandra] assume users keys as utf8;

Assumption for column family 'users' added successfully.


#插入数据

[default@twissandra] set users['jsmith']['first']='John';

[default@twissandra] set users['jsmith']['last']='Smith';

[default@twissandra] set users['jsmith']['age']='38';


#插入数据

[default@twissandra] get users['jsmith'];

=> (name=age, value=38, timestamp=1502764716526000)

=> (name=first, value=John, timestamp=1502764685559000)

=> (name=last, value=Smith, timestamp=1502764696653000)


#修改数据值

[default@twissandra] set users['jsmith']['first']='Jack';

[default@twissandra] get users['jsmith'];

=> (name=age, value=38, timestamp=1502764716526000)

=> (name=first, value=Jack, timestamp=1502764821855000)

=> (name=last, value=Smith, timestamp=1502764696653000)



[default@twissandra] get users where age='38';

-------------------

RowKey: jsmith

=> (name=age, value=38, timestamp=1502764716526000)

=> (name=first, value=Jack, timestamp=1502764821855000)

=> (name=last, value=Smith, timestamp=1502764696653000)



(2)cqlsh

[tnuser@sht-sgmhadoopdn-02 ~]$ cqlsh -ucassandra -pcassandra localhost


#远程访问:

[tnuser@sht-sgmhadoopnn-02 ~]$ cqlsh 172.16.101.59


#查看版本

cassandra@cqlsh:system> show version;

[cqlsh 5.0.1 | Cassandra 3.11.1 | CQL spec 3.4.4 | Native protocol v4]


cassandra@cqlsh:system> show host;

Connected to Test Cluster at 127.0.0.1:9042.


#system.local表

cassandra@cqlsh:system> select key,cluster_name,listen_address from system.local;

key   | cluster_name | listen_address

-------+--------------+-----------------

local | Test Cluster | 192.168.163.102



#创建一个keyspace:

cqlsh> create keyspace mykeyspace with replication = {'class':'SimpleStrategy','replication_factor':1} AND durable_writes = true;


#查看总共有哪些keyspace:

cqlsh> desc keyspaces

system_traces  twissandra  system  mykeyspace


#查看指定keyspace的详细信息:

cqlsh> desc mykeyspace

CREATE KEYSPACE mykeyspace WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '1'}  AND durable_writes = true;


#进入某个keyspace:

cqlsh> use mykeyspace;


#创建一个users表:

cqlsh:mykeyspace> create table users(user_id int primary key,fname text,lname text);

cqlsh:mykeyspace> desc tables;

users


#查看users表信息:

cqlsh:mykeyspace> desc users;

CREATE TABLE mykeyspace.users (

    user_id int PRIMARY KEY,

    fname text,

    lname text

) WITH bloom_filter_fp_chance = 0.01

    AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'

    AND comment = ''

    AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy'}

    AND compression = {'sstable_compression': 'org.apache.cassandra.io.compress.LZ4Compressor'}

    AND dclocal_read_repair_chance = 0.1

    AND default_time_to_live = 0

    AND gc_grace_seconds = 864000

    AND max_index_interval = 2048

    AND memtable_flush_period_in_ms = 0

    AND min_index_interval = 128

    AND read_repair_chance = 0.0

    AND speculative_retry = '99.0PERCENTILE';


#插入数据

cqlsh:mykeyspace> insert into users (user_id,fname,lname) values(1744,'john','doe');

cqlsh:mykeyspace> insert into users (user_id,fname,lname) values(1745,'john','smith');

cqlsh:mykeyspace> insert into users (user_id,fname,lname) values(1746,'john','jack');

cqlsh:mykeyspace> select * from users;

user_id | fname | lname

---------+-------+-------

    1745 |  john | smith

    1744 |  john |   doe

    1746 |  john |  jack


#创建索引:

cqlsh:mykeyspace> create index users_lname_idx on users(lname);

cqlsh:mykeyspace> select * from users where lname='smith';

user_id | fname | lname

---------+-------+-------

    1745 |  john | smith


注意:

如果是通过cassandra-cli登录创建的数据然后通过再cli查看,可能会不兼容:

cqlsh:mykeyspace> desc twissandra;

CREATE KEYSPACE twissandra WITH replication = {'class': 'NetworkTopologyStrategy', 'datacenter1': '1'}  AND durable_writes = true;

/*

Warning: Table twissandra.users omitted because it has constructs not compatible with CQL (was created via legacy API). # 这里发出警告,不兼容

Approximate structure, for reference:

(this should not be used to reproduce this schema)

CREATE TABLE twissandra.users (

    key blob,

    column1 text,

    value blob,

    age text,

    first text,

    last text,

    PRIMARY KEY (key, column1)

) WITH COMPACT STORAGE

    AND CLUSTERING ORDER BY (column1 ASC)

    AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'

    AND comment = ''

    AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy'}

    AND compression = {'sstable_compression': 'org.apache.cassandra.io.compress.LZ4Compressor'}

    AND dclocal_read_repair_chance = 0.1

    AND default_time_to_live = 0

    AND gc_grace_seconds = 864000

    AND max_index_interval = 2048

    AND memtable_flush_period_in_ms = 0

    AND min_index_interval = 128

    AND read_repair_chance = 0.0

    AND speculative_retry = 'NONE';

CREATE INDEX users_age_idx ON twissandra.users (age);

*/


cqlsh:mykeyspace> select * from twissandra.users;

key            | column1 | value        | age   | first | last

----------------+---------+--------------+-------+-------+-------

0x6a736d697468 |     age |       0x3338 |    38 |    38 |    38

0x6a736d697468 |   first |   0x4a61636b |  Jack |  Jack |  Jack

0x6a736d697468 |    last | 0x536d697468 | Smith | Smith | Smith

目录
相关文章
|
存储 NoSQL 网络协议
MongoDB常见操作及集群搭建
本文阅读大概需要13分钟。
422 0
MongoDB常见操作及集群搭建
|
存储 NoSQL 安全
MongoDB基本操作(五)——分片集群与安全认证
MongoDB基本操作(五)——分片集群与安全认证
386 0
MongoDB基本操作(五)——分片集群与安全认证
|
存储 缓存 NoSQL
BigData之MongoDB:MongoDB基于分布式文件存储数据库的简介、下载、案例应用之详细攻略
BigData之MongoDB:MongoDB基于分布式文件存储数据库的简介、下载、案例应用之详细攻略
|
存储 NoSQL 数据库
mongodb分布式集群搭建手记
一、架构简介 目标 单机搭建mongodb分布式集群(副本集 + 分片集群),演示mongodb分布式集群的安装部署、简单操作。 说明 在同一个vm启动由两个分片组成的分布式集群,每个分片都是一个PSS(Primary-Secondary-Secondary)模式的数据副本集; Config副本集采用PSS(Primary-Secondary-Secondary)模式。
7978 0