千家信息网

Cassandra CLI 命令详解

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,Cassandra Shell命令详解Logincqlsh 172.20.101.252 -u cassandra -p cassandra Connected to cn-engage-dev a
千家信息网最后更新 2025年02月01日Cassandra CLI 命令详解

Cassandra Shell命令详解

Login

cqlsh 172.20.101.252  -u cassandra -p cassandra Connected to cn-engage-dev at 172.20.101.252:9042.[cqlsh 5.0.1 | Cassandra 3.11.4 | CQL spec 3.4.4 | Native protocol v4]

创建一个Keyspace

CREATE KEYSPACE  WITH 详细:CREATE KEYSPACE "KeySpace Name"WITH replication = {'class': 'Strategy name', 'replication_factor' : 'No.Of  replicas'}AND durable_writes = 'Boolean value';

CREATE KEYSPACE语句有两个属性:replication和durable_writes。

replication

复制支持的策略

策略名称                                        描述简单的策略 (SimpleStrategy)              为集群指定简单的复制因子。网络拓扑策略(NetworkTopologyStrategy)     使用此选项,可以单独为每个数据中心设置复制因子。旧网络拓扑策略                             使用此选项,可以单独为每个数据中心设置复制因子。
Durable_writes

默认情况下,表的durable_writes属性设置为true,但可以将其设置为false。
durable_writes参数用于设置写数据时是否写入commit log,如果设置为false,则写请求不会写commit log,会有丢失数据的风险。此参数默认为true,即要写commit log,生产系统应该将该参数设置为true。

实例:

创建一个名为ptmind_test的KeySpace,使用网络拓扑策略(NetworkTopologyStrategy),在数据中心1里面复制两份,另外开启写commit log。

创建cassandra@cqlsh> create keyspace ptmind_test with replication = {'class':'NetworkTopologyStrategy','dc1':2} and durable_writes = true;查看创建语法cassandra@cqlsh> desc keyspace ptmind_test;CREATE KEYSPACE ptmind_test WITH replication = {'class': 'NetworkTopologyStrategy', 'dc1': '2'}  AND durable_writes = true;

####Capture
此命令捕获命令的输出并将其添加到文件。例如,看看下面的代码,它将输出捕获到名为Outputfile的文件。
当我们在终端中键入任何命令时,输出将被给定的文件捕获。下面给出的是使用的命令和输出文件的快照。

cassandra@cqlsh> capture './cassandra.out'Now capturing query output to './cassandra.out'.关闭捕获:cqlsh:cqlsh> capture off;

Consistency

此命令显示当前的一致性级别,或设置新的一致性级别。
Consistency可以理解读和写操作的Consistency Level
写操作的consistency level指定了写操作在通知客户端请求成功之前,必须确保已经成功完成写操作的replica的数量。

详细介绍:https://blog.51cto.com/michaelkang/2415292

显示当前级别 CONSISTENCY

cassandra@cqlsh> CONSISTENCY Current consistency level is ONE.

Describe

此命令描述Cassandra及其对象的当前集群。此命令的变体说明如下。

Describe cluster -此命令提供有关集群的信息。

cassandra@cqlsh> DESCRIBE cluster;Cluster: cn-engage-devPartitioner: Murmur3Partitioner

Describe Keyspaces

-此命令列出集群中的所有键空间。下面给出了这个命令的用法。

cassandra@cqlsh> DESCRIBE keyspaces;system_schema  system       system_distributedsystem_auth    ptmind_test  system_traces     

创建 tables

创建带有Set类型列的表CREATE TABLE users (  user_id text PRIMARY KEY,  first_name text,  last_name text,  emails set);插入数据INSERT INTO users (user_id, first_name, last_name, emails) VALUES('2', 'kevin', 'kevin', {'kevin@ptmind.com', 'kevin@gmail.com'});

Describe tables

-此命令列出了键空间中的所有表。下面给出了这个命令的用法。

cassandra@cqlsh:ptmind_test> Describe tables;users  emp  ptemp

Describe tables

-此命令提供表的描述。下面给出了这个命令的用法。

cqlsh:cqlsh> describe table emp;

Describe tables

此命令用于描述用户定义的数据类型。下面给出了这个命令的用法。

cassandra@cqlsh:ptmind_test> DESCRIBE table users;CREATE TABLE ptmind_test.users (    user_id text PRIMARY KEY,    emails set,    first_name text,    last_name 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', 'max_threshold': '32', 'min_threshold': '4'}    AND compression = {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'}    AND crc_check_chance = 1.0    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 = '99PERCENTILE';

Describe Types

此命令列出所有用户定义的数据类型。下面给出了这个命令的用法。假设有两种用户定义的数据类型:users和test_tables。

cassandra@cqlsh:ptmind_test> DESCRIBE TYPES;users test_tables

Copy

此命令将数据从Cassandra复制到文件并从中复制。下面给出一个将名为emp的表复制到文件myfile的示例。

cassandra@cqlsh:ptmind_test> COPY users (user_id, first_name, last_name, emails) TO 'kevinfile';Using 3 child processesStarting copy of ptmind_test.users with columns [user_id, first_name, last_name, emails].Processed: 2 rows; Rate:       1 rows/s; Avg. rate:       1 rows/s2 rows exported to 1 files in 1.472 seconds.验证:[root@kubm-01 ~]# more kevinfile 2,kevin,kevin,"{'kevin@gmail.com', 'kevin@ptmind.com'}"frodo,Frodo,Baggins,"{'baggins@gmail.com', 'f@baggins.com'}"

Expand

此命令用于扩展输出。在使用此命令之前,您必须打开expand命令。下面给出了这个命令的用法。

cqlsh:cqlsh> expand on;cqlsh:cqlsh> select * from users;cassandra@cqlsh:ptmind_test> select * from users;@ Row 1------------+----------------------------------------- user_id    | 2 emails     | {'kevin@gmail.com', 'kevin@ptmind.com'} first_name | kevin last_name  | kevin@ Row 2------------+-----------------------------------------(2 rows)使用以下命令关闭展开选项。cqlsh:cqlsh> expand off;Disabled Expanded output.

Source

使用此命令,可以在文件中执行命令。假设我们的输入文件如下:

然后可以执行包含命令的文件,如下所示。

[root@kubm-01 ~]# pwd/root[root@kubm-01 ~]# more cqshell.source select * from users;登陆执行;cassandra@cqlsh:ptmind_test> SOURCE '/root/cqshell.source' user_id | emails                                  | first_name | last_name---------+-----------------------------------------+------------+-----------       2 | {'kevin@gmail.com', 'kevin@ptmind.com'} |      kevin |     kevin   frodo |  {'baggins@gmail.com', 'f@baggins.com'} |      Frodo |   Baggins(2 rows)
命令 数据 文件 策略 输出 类型 集群 参数 因子 拓扑 数据中心 用户 级别 网络 一致 成功 一致性 属性 空间 两个 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 美萍美容管理连接服务器失败 网络安全宣传中文 芜湖市微远网络技术公司 关于召开网络安全信息会议 高中网络安全教育论文 vivo网络安全证书过期 昆明中奇联合互联网科技有限公司 网络安全法对酒店管理等影响 人工智能gpu硬件服务器 软件开发 联系单范本 brad芸薹属数据库怎么用 贵阳市非物质文化遗产数据库 浪潮5270m5服务器功率 cpu处理哪里的数据库 无锡党员教育软件开发 互联网推广公司推荐黔文科技 网络安全的优点摘要 软件开发服务合同中包含设备 计算机网络技术应用工程证书 杭州渗透测试网络安全培训 如何查看数据库子表 互联网高科技酒店怎么改造 戴尔服务器后面哪个是网口 海康串口服务器NC600系列 软件开发培训外包 软件开发费设备购置费 政府及网络安全建议 服务器默认管理口ip 网络安全编制一个DES算法 福州网络安全问题
0