ScyllaDB使用
Date: 2019/06/19 Categories: 工作 Tags: scylla
介绍
ScyllaDB是一个高性能的Apache Cassandra兼容数据库, 我们用作Janusgraph图数据库的底层存储用。
ScyllaDB和传统数据库以及其他nosql数据都有很大的不同,但单机使用的时候区别不大。
一些概念
vnode
参考 https://www.datastax.com/blog/2012/12/virtual-nodes-cassandra-12
consistent level (CL)
可以通过calculator计算需要哪种组合
常用操作
启动
最基本的启动命令:
docker run -v scylla:/var/lib/scylla --privileged --name scylla --rm -it \
--net=host scylladb/scylla:3.0.7 --listen-address=9.24.4.68 \
--broadcast-rpc-address=9.24.4.68 --seeds=9.24.4.68 --developer-mode 0
ip需要指定的, 否则如果有多个ip, 会被scylla的启动脚本都放到命令行内, 导致启动失败.
其他命令行参数
--overprovisioned 1
, 如果不是独占的服务器需要加上--smp 16
, 使用16个core--memory 10G
, 使用多少内存
repair
使用多数据中心配置时, repair本数据中心的所有node, 这条命令执行一次就可以repair dc的所有node
nodetool repair -local -full
如果想依次repair, 可以在每台机器上执行,
-pr
避免repair同一份数据在不同node上的节点多次
nodetool repair -full -pr
参考nodetool repair | Apache Cassandra™ 3.0
join
参考这篇文章, 当启用
auto_bootstrap
为true
时, 每次只能加入一台机器
另外按照datastax的文档, 当添加减少节点的时候, 不能执行数据同步命令, 比如repair, rebuild等
强制结束repair
这个时scylladb的接口
curl -s -X POST http://127.0.0.1:10000/storage_service/force_terminate_repair