最近想着测试各种NoSQL数据库的性能,于是在Ubuntu上把Cassandra也安装一下试验一下性能。
Cassandra是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据,集GoogleBigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身Facebook于2008将 Cassandra 开源,此后,由于Cassandra良好的可扩展性,被Digg、Twitter等知名Web 2.0网站所采纳,成为了一种流行的分布式结构化数据存储方案。
当前对这个软件的评价还是挺高的,特别是其写的性能。当然这也主要是跟他的消息分发机制有关。
在网上找相关的安装说明的时候,都没有很具体。于是在这里将整个安装过程简单描述一下:
(1) 从官网上直接下载bin版本的安装包,,如本文下载的3.7的BIN安装包。
(2) 解压到某个位置
(3) 进行配置文件的修改,主要是conf目录下的cassandra.yaml的修改。
主要修改几个位置:
cluster_name: 集群名称
seed_provider: 种子节点
listen_address: 侦听地址IP
rpc_address: 消息IP
(4) 同时设置相应的数据、日志、和缓存的文件夹,这些文件夹必须具备读写的权限。
data_file_directories:
- /var/lib/cassandra/data
commitlog_directory: /var/lib/cassandra/commitlog
saved_caches_directory: /var/lib/cassandra/saved_caches(5) 将文件SUDO SCP分发到各个节点主机上。保存同样的路径。并针对性修改各个节点上配置的IP地址。
(6) 测试,打开某些节点的cassandra服务。 ./bin/cassandra -f
在上面可以看出,当相继打开几个节点的服务之后,就会出现handshaking的字眼,即表示节点已经加载进来。。。
(7) 测试:创建KEYSPACE,并进行查询测试。
首先需要安装Python,Cassandra提供了一个REPL的工具叫cqlsh,是使用Python写的命令行交互工具,可以很方便地进行创建keyspace、table、CRUD等各种操作。首先执行bin/csqlsh连接到本地节点,进入到命令行交互模式,查看当前的keyspace有哪些: