问答1 问答5 问答50 问答500 问答1000
网友互助专业问答平台

cassandra数据库怎么连

提问网友 发布时间:2022-04-22 03:31
声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:1656858193@qq.com
2个回答
懂视网 回答时间:2022-05-03 06:25

java环境

#下载相应的jdk软件包,然后解压安装,我这里包名称为:jdk-8u91-linux-x64.tar.gz

tar -xzf  jdk-8u91-linux-x64.tar.gz  ; mkdir -p /usr/java/ ; mv jdk1.8.0_25/ /usr/java/jdk1.8

#然后配置环境变量,这样可以任何地方引用jdk,如下配置:

#vi /etc/profile 最后面加入以下语句:

export JAVA_HOME=/usr/java/jdk1.8

export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin

#source /etc/profile   #使环境变量马上生效

#java -version    #查看java版本,看到jdk1.8.0版本即代表java安装成功。

 

搭建cassandra

tar xf apache-cassandra-3.11.4-bin.tar.gz  && mv apache-cassandra-3.11.4 /usr/local/cassandra

cd /usr/local/cassandra/bin/ && ./cassandra -R

 

启动cql客户端

python cql.sh

keyspace键空间操作 keyspace名不超过32个字符

create keyspace ks1 with replication = { ‘class‘:‘SimpleStrategy‘,‘replication_factor‘:1 }; 创建 with后接键空间属性,class:复制协议 replication_factor 几个副本

alter keyspace ks1 with replication = { ‘class‘:‘SimpleStrategy‘,‘replication_factor‘:2 }; 修改

desc keyspace ks1; 查询键空间结构

drop keyspace ks1; 删除

 

cql创建

创建列族 table 列族名不超过32字符

create table testtable( name text, age int, profile text, PRIMARY KEY (name), );  text为strings PRIMARY KEY指定主键

desc table testtable; 查看列族结构

alter table testtable with comment=‘test‘; 修改列族属性 comment描述信息

alter table testtable add sex text; 添加列

alter table testtable drop sex; 删除列

drop table testtable; 删除列族

 

创建index 第二索引

create table student(orderid int,name text,age int,sex text,primary key(orderid));

create index on student(name); 对student 的name创建作为第二索引

desc table student;  注释:CREATE INDEX student_name_idx ON ks1.student (name);  student_name_idx即为默认索引名

drop index student_name_idx; 删除第二索引

 

创建自定义数据类型

create type address(country text,provinace text,city text,road text);

desc type address; 查看自定义数据类型

alter type address add roomno int; 修改增加列

drop type address; 删除自定义数据类型

 

cql操作

insert into student(name,age,orderid,sex) values(‘zhangshan‘,20,10001,‘man‘);

select * from student; 查询是否插入

update student set name=‘lisi‘ where orderid=10001; 修改数据

delete age from student where orderid=10001; 删除age的value数据 但age列不删除

delete from student where orderid=10001;  删除orderid=10001整行数据

 

cql查询操作

insert into student(name,age,orderid,sex) values(‘zhangshan‘,20,10001,‘man‘);

desc student;

select * from student where orderid=10001;  primary-key 可以作为where查询条件

 

select * from student where name=‘zhangshan‘; 会报错 提示使用第二索引或 ALLOW FILTERING

create index on student(name);

select * from student where name=‘zhangshan‘;

 

select count(*) from student; 统计查询到有多少行数据

select count(*) as totalrow from student; 给输出显示的count起一个别名totalrow

 

map和复合主键

create table scores(name text,score map<text,int>,orderid int, primary key(orderid,name));  name和orderid都为主键

select * from scores where name=‘ ‘ allow filtering; 复合主键除了第一个主键之外使用其他主键作为where查询条件会报错,除非加上allow filtering

 

insert into scores(name,orderid,score) values (‘zhanshan‘,10001,{‘yuwen‘:89,‘shuxue‘:99});  

score map<text,int>  map表示score的value为 key(text): value(int)

 

contains条件 包含的意思 包含这个关键字的都查出来

insert into scores(name,orderid,score) values (‘lisi‘,10002,{‘yuwen‘:89,‘shuxue‘:99,‘yinyu‘:100});

create index on scores(keys(score)); map数据类型键作为索引 将score的关键字作为索引

select * from scores where score contains key ‘yinyu‘;  查询score列包含key里面含有yinyu关键字的数据

 

in条件查询 in里面含有的都查出来

select * from scores where orderid in (10001,10002);

 

更多cql语法查询:https://www.w3cschool.cn/cassandra/

 

主配置文件解读

vim cassandra.yaml

cluster_name: ‘Test Cluster‘ 集群名字,即当前节点在cassandra集群中叫什么名字,每个节点集群名不一样

listen_address: localhost 集群监听地址,一般0.0.0.0

seed_provider  需要联系的节点地址

storage_port: 7000  节点间通讯端口

native_transport_port: 9042 本地客户端通信端口

data_file_directories 数据文件的存放目录

commitlog_directory  commitlog保存路径

commit_failure_policy 提交失败时采取的策略

disk_failure_policy 磁盘故障策略

rpc_address: localhost 监听客户端连接的地址

 

nodetool运维工具

./nodetool version 查看cassandra版本

./nodetool status 查看节点状态

./nodetool stopdaemon 关闭cassandra服务

./nodetool clearsnapshot 删除所有快照 删除之前把所有有用的快照移到别的目录

./nodetool -h 127.0.0.1 netstats 查看节点网络连接信息

./nodetool compact 合并sstable文件

./nodetool compactionstats 显示压缩进度

./nodetool upgradesstables -a  更新sstable

./nodetool snapshot -t NAME  为键空间或列族创建快照 -t 指定快照名,不指定以当前时间戳作为快照名

./nodetool clearsnapshot -t SNAPSHOTNAME 指定要删除快照的名字 不指定清理全部快照

./nodetool refresh +keyspace +TABLENAME  加载新的sstable文件到集群中 恢复快照

./nodetool decommission 关闭当前节点,并把数据复制到环中紧邻的下一个节点

./nodetool describecluster 描述集群信息

./nodetool describering +KEYSPACE_NAME  显示圆环的节点信息

./nodetool drain 把memtable中的数据刷新sstable,并且当前节点会终止与其他节点的联系,执行完这条命令需要重启节点,一般在cassandra版本升级的时候才使用这条命令

./nodetool flush 单纯的把memtable中的数据刷新到sstable,不需要重启节点

./nodetool getendpoints 查看key分布在哪个节点上,需要三个参数: keyspace_name,table_name,key_name

./nodetool getsstables 查看key分布在哪一个sstable上,需要三个参数:keyspace_name,table_name,key_name

./nodetool rebuild 当有新的数据中心加入,运行该命令复制数据到新数据中心

./nodetool repair 在删除数据时候,cassandra并非真实的删除,而是重新插入一条数据,记录了删除的记录的信息和时间,叫做tombstone墓碑。使用nodetool repair,可以删除tombstone数据。频繁修改的数据节点可以使用这个命令节省空间,提高读速度

./nodetool tpstats 列出cassandra维护的线程池的信息,可以看到每个阶段的操作,以及他们的状态是活动中,等待还是完成

./nodetool cfstats 列族名 -H   查看表的一些信息,包括读的次数,写的次数, sstable的数量,memtable信息,压缩信息,bloomfilter信息

./nodetool cleanup 清理不需要的keyspace,当新增的数据节点或减少数据节点时,数据会重新分发,可以运行这个命令,清除不再分布在这个节点上的keyspace,唯一目的是为了节省磁盘空间

 

 

压力测试

tools/bin/cassandra-stress write -n=1000000 插入1000000数据

tools/bin/cassandra-stress read n=200000 读取200000数据

tools/bin/cassandra-stress read duration=3m 持续读取3分钟数据

 

列族参数

desc ks1.scores;

    AND bloom_filter_fp_chance = 0.01 指定bloom_filter算法的容错率,一般 0.01-0.1

    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 数据存活时间,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  0-1之间的数值,与数据的一致性有关

AND speculative_retry = ‘99PERCENTILE‘;

cassandra数据库

标签:算法   dex   percent   ora   direct   amp   通信   ons   tables   

热心网友 回答时间:2022-05-03 03:33
Cassandra的文件包中,bin下有自带的数据库操作命令行工具cassandra-cli,lib中有可供Java编程访问的Driver.我们先介绍命令行工具的基本数据库操作:
$ bin/cassandra-cli
>> Connected to: "Test Cluster" on 127.0.0.1/9160 Welcome to Cassandra CLI version 2.0.3 The CLI is deprecated and will be removed in Cassandra 3.0. Consider migrating to cqlsh. CQL is fully backwards compatible with Thrif
>> [default@unknown]

Key space类似于数据库的概念,首先需要创建一个Key space.

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

相关推荐
  • [Cassandra]cqlshcommandlist

    [Cassandra]cqlshcommandlist

    [Cassandra]cqlshcommandlist:Cassandra cqlsh cd /usr/local/dse- 2.1 / bin /cqlsh localhost 9160 Cassandra cqlsh cd /usr/local/dse-2.1/ bin/cqlsh localhost 9160 ,网站空间,香港空间,香港虚拟主机
    查看详情
  • [译]Cassandra的数据读写与压缩

    [译]Cassandra的数据读写与压缩

    [译]Cassandra的数据读写与压缩:本文翻译主要来自Datastax的cassandra1.2文档。 压缩 目的:减少sstable数量 合并多个sstable的顺序 顺序IO SStable的样子: 再说压缩: Cassandra中,讲新的列写入新的sstable中,那么压缩就是为了将多个sstable合并成一个。 Figure 1: a
    查看详情
电脑宽带错误691什么意思? 如何从cassandra迁移到hbase 叙事的作文600字 Vertica 数据库与 Cassandra 相比有什么优势 电脑上出现691了要着么办? 为什么 Cassandra 的写速度比 MySQL 快? 电脑连接总显示691 国内哪些互联网公司使用了Cassandra数据库? 电脑宽带连接出现错误代码是691应该怎么解决 为什么canssandra刚删除的数据插入不了 电脑宽带连接 账号密码都正确为什么就是出现691错误 为什么说hbase是一个面向列的数据库? 宽带连接出现错误代码691、什么意思? cassandra是不是内存型数据库 电脑连接不上,出现691是怎么回事? 如何实现Cassandra与Hadoop MapReduce的整合 Apache Cassandra数据库的优缺点有哪些 请问电脑连接网络老是出错显示:错误691:已拒绝远... 电脑连不上网,显示“Error code=691:由于域上的用... 我的电脑连不上网显示网络连接错误691是怎么会事? 电脑故障代码为691是怎么回事 cassandra数据库,某个字段text类型,18位数字时可... 电脑显示错误691,有没有好的方法解决? 为什么需要elasticsearch做cassandra的索引 电脑拨号连接提示错误691要怎么解决? 长期底部放量的原因,如果是主力吸筹那不是引人注... 记叙文600字写事 电脑连不上网 显示错误691 用户名和密码不正确请问 股价在低位下跌放量都是什么原因造成的 为什么 Cassandra 的写速度比 MySQL 快 出现低位放量下跌情况是什么原因造成的 为什么我的电脑一按宽带连接就出现错误代码691, cassandra 单点本地插入数据TPS为1500,感觉不正常 优美记叙文 600字 宽带连接错误691 elasticsearch 如何与cassandra 数据库结合 电脑连接网络的时候出现691是什么意思? 记叙作文600字 常用的数据库有哪几种?试着阐述每种数据库的特点... 股票低位放量代代表什么
Top