有时,可能需要减少集群的容量:

  • 减少高峰事件后的运营成本
  • 为其他目的分配服务器。
  • 删除故障硬件。(参见删除ALTER CLUSTER以删除永久失败的节点。)

在ClustrixDB中缩小集群的过程很简单:

lustrix建议在登录到希望删除的节点之外的其他节点时运行此进程。

检查目标集群配置

  • ClustrixDB需要至少三个节点来支持生产系统。通过本页中列出的步骤,不支持从三个或多个节点转到单个节点。
  • 在配置区域时,ClustrixDB至少需要3个区域。
  • 对于部署在区域中的集群,ClustrixDB要求每个区域中的节点数量相等。
  • 确保目标集群配置有足够的空间。有关容错和可用性,请参阅分配磁盘空间。

Flex down

一、启动SOFTFAIL

将节点标记为softfailed将指示Clustrix Rebalancer将所有数据从指定的节点移动到集群中的其他节点。Rebalancer在后台继续工作,而数据库则继续为您当前的生产需求服务。

如果需要,通过运行以下SQL select来确定分配给给定IP或主机名的节点id。

sql> SELECT * FROM system.nodeinfo ORDER BY nodeid; 

使用ALTER Cluster启动软故障。

ALTER CLUSTER SOFTFAIL nodeid [, nodeid] ...

如果没有足够的空间来完成SOFTFAIL,或者如果SOFTFAIL导致集群无法保护数据(如果丢失了额外的节点),则SOFTFAIL操作将发出一个错误。

要在软失败进程完成之前取消它,请使用以下语法。您的系统将恢复到以前的配置。

ALTER CLUSTER UNSOFTFAIL nodeid [, nodeid] ...  

二、监控SOFTFAIL过程

一旦标记为softfailed, Rebalancer将从softfailed节点移动数据。Rebalancer进程在后台运行,而前台处理继续为您的生产工作负载服务。

监察softfailed的进展:

确认您指定的节点确实被标记为要删除。

sql> SELECT * FROM system.softfailed_nodes;

这个system.softfailing_containers表将显示将作为SOFTFAIL操作的一部分移动的容器列表。当此查询返回0行时,数据迁移就完成了。

sql> SELECT * FROM system.softfailing_containers;

此查询显示准备删除的软失败节点的列表。

sql> SELECT * FROM system.softfailed_nodes  WHERE nodeid NOT IN (SELECT DISTINCT nodeid FROM system.softfailing_containers);

完成所有节点的softfail后,clustrix.log文件将包含以下消息:

softfailing nodes are ready to be removed: <list of node ids>

三、从集群中删除软失败节点

要从集群中删除softfailed节点,请发出以下SQL命令。

sql> ALTER CLUSTER REFORM; 

在删除节点时,将出现短暂的服务中断。

34. ClustrixDB 降低集群的容量-Flex down的更多相关文章

  1. 33. ClustrixDB 扩展集群的容量-Flex up

    ClustrixDB被授权为每个节点的最大核数以及集群的最大节点数.如果需要扩展许可证,请联系Clustrix Sales.扩容之前检查License是否支持节点数. 一.准备节点 提供节点并在每个节 ...

  2. Kubernetes集群调度器原理剖析及思考

    简述 云环境或者计算仓库级别(将整个数据中心当做单个计算池)的集群管理系统通常会定义出工作负载的规范,并使用调度器将工作负载放置到集群恰当的位置.好的调度器可以让集群的工作处理更高效,同时提高资源利用 ...

  3. 腾讯云Elasticsearch集群规划及性能优化实践

    ​一.引言 随着腾讯云 Elasticsearch 云产品功能越来越丰富,ES 用户越来越多,云上的集群规模也越来越大.我们在日常运维工作中也经常会遇到一些由于前期集群规划不到位,导致后期业务增长集群 ...

  4. Elasticsearch(二)--集群原理及优化

    一.ES原理 1.索引结构ES是面向文档的 各种文本内容以文档的形式存储到ES中,文档可以是一封邮件.一条日志,或者一个网页的内容.一般使用 JSON 作为文档的序列化格式,文档可以有很多字段,在创建 ...

  5. Airbnb的动态kubernetes集群扩缩容

    Airbnb的动态kubernetes集群扩缩容 本文介绍了Airbnb的集群扩缩容的演化历史,以及当前是如何通过Cluster Autoscaler 实现自定义扩展器的.最重要的经验就是Airbnb ...

  6. 修复 Elasticsearch 集群的常见错误和问题

    文章转载自:https://mp.weixin.qq.com/s/8nWV5b8bJyTLqSv62JdcAw 第一篇:Elasticsearch 磁盘使用率超过警戒水位线 从磁盘常见错误说下去 当客 ...

  7. MongoDB之分片集群与复制集

    分片集群 1.1.概念 分片集群是将数据存储在多台机器上的操作,主要由查询路由mongos.分片.配置服务器组成. ●查询路由根据配置服务器上的元数据将请求分发到相应的分片上,本身不存储集群的元数据, ...

  8. HP DL160 Gen9服务器集群部署文档

    HP DL160 Gen9服务器集群部署文档 硬件配置=======================================================Server        Memo ...

  9. Couchbase集群和Redis集群解析

    Couchbase集群和Redis集群解析 首先,关于一些数据库或者是缓存的集群有两种结构,一种是Cluster;一种是master-salve. 关于缓存系统一般使用的就是Redis,Redis是开 ...

随机推荐

  1. PAT B1023 组个最小数(20)

    题目描述 给定数字 0-9 各若干个.你可以以任意顺序排列这些数字,但必须全部使用.目标是使得最后得到的数尽可能小(注意 0 不能做首位).例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的 ...

  2. .Net面试题三

    1..Net中类和结构的区别? 2.死锁地必要条件?怎么克服? 3.接口是否可以继承接口?抽象类是否可以实现接口?抽象类是否可以继承实体类? 4.构造器COnstructor是否可以被继承?是否可以被 ...

  3. 啥叫K8s?啥是k8s?

    •Kubernetes介绍 1.背景介绍 云计算飞速发展 - IaaS - PaaS - SaaS Docker技术突飞猛进 - 一次构建,到处运行 - 容器的快速轻量 - 完整的生态环境 2.什么是 ...

  4. 怎样使用构造函数: Vue()?

    1. 新建一个 .html 文件 => 引入一个在线的 vue 库 => 写一个带 id 的 html 标签 => 写一个 script 标签, 这里的 vApp 是 Vue() 这 ...

  5. C++中重载函数详解

    函数的重载详解 什么时函数重载: 函数重载是指在同一作用域内,可以有一组具有相同函数名,不同参数列表的函数,这组函数被称为重载函数.重载函数通常用来命名一组功能相似的函数,这样做减少了函数名的数量,避 ...

  6. 基于S7协议实现与西门子PLC通信

    西门子PLC是目前工控行业市场占有额比较大的一款PLC,而且随着上位机的越来越普及, 有很多人开始考虑自己开发上位机实现与西门子PLC的通信,遇到的第一个问题就是数据通信. 其实西门子PLC提供的接口 ...

  7. SQL Server中的锁可以分为如下几类

    从大类来看,SQL Server中的锁可以分为如下几类: 共享锁(S锁):用于读取资源所加的锁.拥有共享锁的资源不能被修改.共享锁默认情况下是读取了资源马上被释放.比如我读100条数据,可以想像成读完 ...

  8. Fox新闻报道,帮助北朝鲜使用加密货币专家被捕

    根据司法部的刑事诉讼,一名美国加密货币专家周四在洛杉矶被捕,原因是涉嫌帮助朝鲜使用加密货币逃避美国的制裁.网民都说敢帮助敌人,就应该关起来.  ​​​

  9. mybatis抛出异常(java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x94' for column 'name' at row 1)

    文章参考 https://blog.csdn.net/junsure2012/article/details/42171035 https://www.cnblogs.com/WangYunShuai ...

  10. hbuilder打包集成文件预览

    <div class="attachments"> <div class="name">附件</div> <div c ...