scylladb集群管理
一.创建集群
1.安装scylladb
2.修改scylla.yaml配置文件,主要需要配置:
cluster_name:集群名称,所有节点相同
seeds:种子节点列表
listen_address:scylladb和集群其他节点进行通信的IP地址
auto_bootstrap:新节点是否自动同步数据到本节点
rpc_address:Thrift、CQL等客户端连接的地址
3.所有节点上启动scylladb。不需要同时启动,非seed节点要在有seed节点启动完成后才能加入集群。
二.新增节点
a).新节点安装scylladb
b).修改scylla.yaml配置文件,主要需要配置:
cluster_name:集群名称,要和要加入的集群的名称相同
seeds:种子节点列表,至少要包含一个可以正常通信的seed节点才可以加入集群
listen_address:scylladb和集群其他节点进行通信的IP地址
auto_bootstrap:新节点是否自动同步数据到本节点
rpc_address:Thrift、CQL等客户端连接的地址
c). 启动scylladb。
PS.
官方文档中说集群中有DOWN的节点时,新节点不能加入集群。
但实际测试可以加入,原因未知。
三.auto_bootstrap说明
a).auto_bootstrap
配置新节点加入时,是否自动迁移数据到本节点。
新加入节点才会执行本操作,如果是旧节点,即使配置成TRUE也没有意义。也就是说,如果一个DOWN的节点重新连接回来,数据是不会自动同步的,只有保存了hint数据的节点才会将掉线期间的数据发送到该节点。
auto_bootstrap默认开启。
b).token
如果设置了auto_bootstrap,将会找一个load最大的节点,将其一半的token环区间配置到当前结点上。(看的是较老的cassandra文章,未确认当前版本是否如此,可能是每个虚拟节点都分开这样处理)
如果没有设置auto_bootstrap,则随机生成token,或者使用用户指定的token
四.删除节点
1.删除正常节点
a)删除命令
nodetool decommission -h 192.168.1.244
运行命令后节点将被从集群中删除,但数据将被同步到其他节点上去。测试3节点、2副本、1.57亿条数据,每个节点占用空间14GB左右,decommission耗时为22分钟。
b)节点从集群中被删除后,节点中的数据不会被删除,需要手动删除。如果没有删除数据的话,节点无法作为新节点重新加入到集群。
2.删除down节点
a)删除命令
nodetool removenode e9b26968-8220-4e54-8a78-2255ceb133d7
后面的e9b26968-8220-4e54-8a78-2255ceb133d7是Host ID,可以通过nodetool status获取到。
b)down节点删除后也会进行数据同步,同样的数据耗时约35分钟,应该是因为节点少了,每个节点的压力变大了。这个过程的资源占用很高,CPU几乎占满,io和网络占用有几十MB/s。
五.其他命令
1.nodetool repair
修复整个集群,一般需要定期运行以保证数据同步。
常见有以下情况下可能出现较长时间的不同步:
a)加入新节点,且没有设置auto_bootstrap
b)节点掉线长时间后再上线,hint时长不够
2.nodetool compact
手动进行compaction,将会对本节点中的所有SSTable执行compact,可以减少空间占用
3.nodetool assassinate
删除一个down的节点,且不进行数据迁移
4.nodetool enablebackup
增量备份,机制是创建硬链接到备份目录
scylladb集群管理相关推荐
- Redis集群管理方式
Redis的有三种集群方式:主从复制,哨兵模式和集群. 主从复制 从服务器连接主服务器,发送SYNC命令: 主服务器接收到SYNC后执行BGSAVE命令生成RDB文件,并使用缓冲区记录此后执行的所有写 ...
- CynosDB技术详解——存储集群管理
本文由腾讯云数据库发表 前言 CynosDB是架构在CynosFS之上的分布式关系数据库系统,为最大化利用存储资源,平衡资源之间的竞争,检查资源使用情况,需要一套高效稳定的分布式集群管理系统(SCM: ...
- 容器集群管理平台的比较
2019独角兽企业重金招聘Python工程师标准>>> 容器化和微服务是当前最热话题,不久之前,笔者(据说因为现在都不用笔了,"笔者"的称谓已经不合适了,因为输入 ...
- Kubernetes使用集群联邦实现多集群管理
Kubernetes在1.3版本之后,增加了"集群联邦"Federation的功能.这个功能使企业能够快速有效的.低成本的跨区跨域.甚至在不同的云平台上运行集群.这个功能可以按照地 ...
- 交换机知识--集群管理
集群是可以当作单一设备来管理的一组网络设备的集合,集群管理的主要目的是解决大量分散的网络设备的集中管理问题.网络管理者只需要在集群中的一个交换机上配置公网IP地址就可以实现对集群中其它交换机的管理和维 ...
- 基于Kubernetes构建Docker集群管理详解
from: 基于Kubernetes构建Docker集群管理详解 Kubernetes是Google开源的容器集群管理系统,基于Docker构建一个容器的调度服务,提供资源调度.均衡容灾.服务注册.动 ...
- 运维利器-ClusterShell集群管理操作记录
在运维实战中,如果有若干台数据库服务器,想对这些服务器进行同等动作,比如查看它们当前的即时负载情况,查看它们的主机名,分发文件等等,这个时候该怎么办?一个个登陆服务器去操作,太傻帽了!写个shell去 ...
- CynosDB技术详解——存储集群管理【文末有福利】
本文由腾讯云数据库发表 前言 CynosDB是架构在CynosFS之上的分布式关系数据库系统,为最大化利用存储资源,平衡资源之间的竞争,检查资源使用情况,需要一套高效稳定的分布式集群管理系统(SCM: ...
- 360 开源企业级 Kubernetes 多集群管理平台 Wayne
奇虎 360 宣布正式开源 Wayne ,这是一个由 360 搜索云平台团队开发的通用的.基于 Web 的 Kubernetes 多集群一站式可视化管理平台.内置了丰富多样的功能,满足企业的通用需求, ...
最新文章
- 慎用jQuery中的submit()方法
- mysql主从切换gtid不一致_GTID 复制、主从不一致跳过操作、快速切换master
- Nginx教程-location配置
- redis设置开机自启动
- spring-初始化完成后运行指定内容
- 发电厂电气部分第三版pdf_火力发电厂电气主接线的特点
- python gettext_python gettext使用
- Failed to start firewalld.service: Unit firewalld.service is masked.
- 解决Ubuntu系统“无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系”的有效方法
- AxureRP9(team版)安装+汉化+秘钥
- dsf5.0 element ui表单相关验证
- 服务器集成显卡性能,主流显卡参数和性能对比
- 伪原创工具及伪原创工具的使用技巧
- VBA-循环语句之Do...Loop
- 视觉3d中五折幕的震撼这就是沉浸式屏幕
- HC-SR505人体红外报警系统
- java-集合框架库-LinkedList
- VBS电脑信息检测器
- Python各类库的简介(转)
- 【LeetCode 172. 阶乘后的零】