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

  • 减少高峰事件后的运营成本
  • 为其他目的分配服务器。
  • 删除故障硬件。(参见删除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. PHP会话(Session)实现用户登陆功能

    对比起 Cookie,Session 是存储在服务器端的会话,相对安全,并且不像 Cookie 那样有存储长度限制,本文简单介绍 Session 的使用. 由于 Session 是以文本文件形式存储在 ...

  2. ci框架读取上传的excel文件数据

    原文链接: https://blog.csdn.net/qq_38148394/article/details/87921373 此功能实现使用到PHPExcel类库,PHPExcel是一个PHP类库 ...

  3. DRF 序列化组件 序列化的两种方式 反序列化 反序列化的校验

    序列化组件 django自带的有序列化组件不过不可控不建议使用(了解) from django.core import serializers class Books(APIView): def ge ...

  4. Censoring(栈+KMP)

    # 10048. 「一本通 2.2 练习 4」Censoring [题目描述] 给出两个字符串 $S$ 和 $T$,每次从前往后找到 $S$ 的一个子串 $A=T$ 并将其删除,空缺位依次向前补齐,重 ...

  5. python基础知识0-3

    一.根据用户输入内容输出其权限 # 根据用户输入内容打印其权限    # FYT --> 超级管理员 # eric --> 普通管理员 # tony,rain --> 业务主管 # ...

  6. 搭建kafka集群

    1:确认zookeeper集群安装正确,防火墙关闭 2:下载kafka安装文件 cd /usr/local/mydown wget http://mirror.bit.edu.cn/apache/ka ...

  7. webSocket协议和Socket.IO

    一.Http无法轻松实现实时应用: ● HTTP协议是无状态的,服务器只会响应来自客户端的请求,但是它与客户端之间不具备持续连接. ● 我们可以非常轻松的捕获浏览器上发生的事件(比如用户点击了盒子), ...

  8. JS基础_流程控制语句

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. 打印从1到最大的n位数(考虑大数问题)

    void Print1ToMaxOfNDigits(int n) { if(n <= 0) { return; } int * number = new int[n]; for(int i = ...

  10. 分库分布的几件小事(四)分库分表的id主键生成

    1.问题 其实这是分库分表之后你必然要面对的一个问题,就是id咋生成?因为要是分成多个表之后,每个表都是从1开始累加,那肯定不对啊,需要一个全局唯一的id来支持.所以这都是你实际生产环境中必须考虑的问 ...