一.创建集群

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集群管理相关推荐

  1. Redis集群管理方式

    Redis的有三种集群方式:主从复制,哨兵模式和集群. 主从复制 从服务器连接主服务器,发送SYNC命令: 主服务器接收到SYNC后执行BGSAVE命令生成RDB文件,并使用缓冲区记录此后执行的所有写 ...

  2. CynosDB技术详解——存储集群管理

    本文由腾讯云数据库发表 前言 CynosDB是架构在CynosFS之上的分布式关系数据库系统,为最大化利用存储资源,平衡资源之间的竞争,检查资源使用情况,需要一套高效稳定的分布式集群管理系统(SCM: ...

  3. 容器集群管理平台的比较

    2019独角兽企业重金招聘Python工程师标准>>> 容器化和微服务是当前最热话题,不久之前,笔者(据说因为现在都不用笔了,"笔者"的称谓已经不合适了,因为输入 ...

  4. Kubernetes使用集群联邦实现多集群管理

    Kubernetes在1.3版本之后,增加了"集群联邦"Federation的功能.这个功能使企业能够快速有效的.低成本的跨区跨域.甚至在不同的云平台上运行集群.这个功能可以按照地 ...

  5. 交换机知识--集群管理

    集群是可以当作单一设备来管理的一组网络设备的集合,集群管理的主要目的是解决大量分散的网络设备的集中管理问题.网络管理者只需要在集群中的一个交换机上配置公网IP地址就可以实现对集群中其它交换机的管理和维 ...

  6. 基于Kubernetes构建Docker集群管理详解

    from: 基于Kubernetes构建Docker集群管理详解 Kubernetes是Google开源的容器集群管理系统,基于Docker构建一个容器的调度服务,提供资源调度.均衡容灾.服务注册.动 ...

  7. 运维利器-ClusterShell集群管理操作记录

    在运维实战中,如果有若干台数据库服务器,想对这些服务器进行同等动作,比如查看它们当前的即时负载情况,查看它们的主机名,分发文件等等,这个时候该怎么办?一个个登陆服务器去操作,太傻帽了!写个shell去 ...

  8. CynosDB技术详解——存储集群管理【文末有福利】

    本文由腾讯云数据库发表 前言 CynosDB是架构在CynosFS之上的分布式关系数据库系统,为最大化利用存储资源,平衡资源之间的竞争,检查资源使用情况,需要一套高效稳定的分布式集群管理系统(SCM: ...

  9. 360 开源企业级 Kubernetes 多集群管理平台 Wayne

    奇虎 360 宣布正式开源 Wayne ,这是一个由 360 搜索云平台团队开发的通用的.基于 Web 的 Kubernetes 多集群一站式可视化管理平台.内置了丰富多样的功能,满足企业的通用需求, ...

最新文章

  1. 慎用jQuery中的submit()方法
  2. mysql主从切换gtid不一致_GTID 复制、主从不一致跳过操作、快速切换master
  3. Nginx教程-location配置
  4. redis设置开机自启动
  5. spring-初始化完成后运行指定内容
  6. 发电厂电气部分第三版pdf_火力发电厂电气主接线的特点
  7. python gettext_python gettext使用
  8. Failed to start firewalld.service: Unit firewalld.service is masked.
  9. 解决Ubuntu系统“无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系”的有效方法
  10. AxureRP9(team版)安装+汉化+秘钥
  11. dsf5.0 element ui表单相关验证
  12. 服务器集成显卡性能,主流显卡参数和性能对比
  13. 伪原创工具及伪原创工具的使用技巧
  14. VBA-循环语句之Do...Loop
  15. 视觉3d中五折幕的震撼这就是沉浸式屏幕
  16. HC-SR505人体红外报警系统
  17. java-集合框架库-LinkedList
  18. VBS电脑信息检测器
  19. Python各类库的简介(转)
  20. 【LeetCode 172. 阶乘后的零】

热门文章

  1. HDOJ 2492 Ping pong 线段树+离散化
  2. linux运行openfoam,OpenFOAM应用的准备工作
  3. 线性规划模型详解及实际应用反思
  4. android profile 打包_Android 利用 Managed Profile 确保兼容性
  5. python爬虫去重_Python网络爬虫(7):URL去重
  6. 从零开始实现图片加载特效之黑白照片、倒影图片、图片蒙版
  7. camera中lookAt的理解
  8. 如何在Word中输入带方框对勾
  9. 三、Android网络开发
  10. JAVA学习记录(冲冲冲)