问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

cassandra数据库怎么连

发布网友 发布时间:2022-04-22 03:31

我来回答

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.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
QQ空间里的好多东西怎么删不掉阿 我想把QQ上的文件全删掉,为什么有的删不掉呢。 4M宽带为什么有1M的下载速度 有什么办法治疗牙结石?还有晚上牙龈出血?有什么食物可以补充营养?曾经... 红米Note2开机以后不显示桌面但是有图标下面三个键都不好使您知道怎么... 红米Note2,酷我音乐盒桌面歌词没有,已经设置了,悬浮窗什么的也点... 大神们, 帮忙把下面文字翻译成英文吧! 急~~~ 机器君就算了 多谢啊 O... DIN 54801-2006 是德国什么标准 我想问一下" high melt viscosity at low shear rates"是什么意思? 请问谁有《喜羊羊与灰太狼》中,灰太狼说的“我一定会回来的”,和懒羊... 电脑宽带错误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字 常用的数据库有哪几种?试着阐述每种数据库的特点... 股票低位放量代代表什么