Cassandra 3.10 安装手记

来源:互联网 发布:美玩吧软件 编辑:程序博客网 时间:2024/06/10 18:20

Cassandra,NoSQL的一种,从数据库排名上,看得出来,NoSQL系列,排名第三(Redis虽然是KV,但是没有人用它当数据库,都是做缓存)

MongoDB是文档型的,Cassandra和Hbase都属于KV型,且实现机制类似,都是基于LSM树设计,受Google Bigtable启发,不过Hbase属于Hadoop体系,过于重载,因此Cassandra首当其冲,是NoSQL里比较牛逼的

当然不是没有问题,比如事务是最终一致性,强一致性的就不适合Cassandra,这也造就了Cassandra无中心,可以线性扩容的良好特性(这一点很重要啊,10台--100台---1000台,吞吐量线性提升),因此特别适合做监控数据的存储。


RankDBMSDatabase ModelScoreMay
2017Apr
2017May
2016May
2017Apr
2017May
20161.1.1.Oracle Relational DBMS1354.31-47.68-107.712.2.2.MySQL Relational DBMS1340.03-24.59-31.803.3.3.Microsoft SQL Server Relational DBMS1213.80+9.03+70.984.4. 5.PostgreSQL Relational DBMS365.91+4.14+58.305.5. 4.MongoDB Document store331.58+6.16+11.366.6.6.DB2 Relational DBMS188.84+2.18+2.887.7. 8.Microsoft AccessRelational DBMS129.87+1.69-1.708.8. 7.Cassandra Wide column store123.11-3.07-11.399.9.9.Redis Key-value store117.45+3.09+9.2110.10.10.SQLiteRelational DBMS116.07+2.27+8.8111.11.11.Elasticsearch Search engine108.82+3.15+22.5112.12.12.TeradataRelational DBMS76.32-0.23+2.5813.13.13.SAP Adaptive ServerRelational DBMS67.75+0.29-3.7314.14.14.SolrSearch engine63.77-0.60-1.8515.15.15.HBaseWide column store59.50+1.04+7.67

参考地址:https://db-engines.com/en/ranking



-----------------------------------------------------------------啰嗦半天,说正题-----------------------------------------------------------------
1. 准备下载包,太简单了,百度一下,直接到官网点Download tar包

参考地址:http://cassandra.apache.org/download/

2. 安装,太简单了,直接丢Linux下面解压即可

3. 配置,主要改conf下面的cassandra.yaml,改如下几个地方:

(1)集群名字,总要改一下嘛,叫Test Cluster总不太正式

cluster_name: 'zhengyan'

(2)各种数据文件的存放路径总要改一下的嘛,之前都丢到/var下面,总不太好,特别是系统盘一般比较小

hints_directory: /data01/cassandra/hints
data_file_directories:     - /data01/cassandra/data
commitlog_directory: /data01/cassandra/commitlog
cdc_raw_directory: /data01/cassandra/cdc_raw
saved_caches_directory: /data01/cassandra/saved_caches

(3)改本地hostname和本地ip,多网卡的时候用

PS:关于rpc的地址,如果设置为空,就跟listen address一致,而且官方墙裂建议用防火墙屏蔽这个端口

listen_address: 192.168.1.107
rpc_address: 192.168.1.107

(4)改seeds,这个用在多节点的时候,节点之间Gossip协议通信用,一般配置3台,多了也影响效率

seed_provider:          - seeds: "192.168.1.107" #ps:这里是个例子,不需要把本机写上

(5)改Snitch的模式,多节点肯定要配置多个rack多个dc,这样才能做好副本的分配,实现高可用

endpoint_snitch: GossipingPropertyFileSnitch

(6)因为下一步要使用KairosDB,因此需要把thrift的rpc端口打开,默认是关闭的,都推荐用CQL了,不走thrift

start_rpc: true

由于使用了GossipPropertyFileSnitch,需要同时修改cassandra-rackdc.properties,把本地的rack和dc设置一下

dc=datacenter1rack=rack1

然后到bin路径下,直接执行./cassandra启动即可,是不是太简单了,几十M的包就实现了那么多牛逼的功能,回想起SAP HANA,2个G的包。。这就是商业和开源吧,商业软件更倾向于大而全,开源就专门解决一个问题

1 0