33. ClustrixDB 扩展集群的容量-Flex up
ClustrixDB被授权为每个节点的最大核数以及集群的最大节点数。如果需要扩展许可证,请联系Clustrix Sales。扩容之前检查License是否支持节点数。
一、准备节点
提供节点并在每个节点上安装ClustrixDB,使用相同的版本和安装配置。
如果正在使用区域,请确保目标配置在每个区域中具有相同数量的节点。
如果您正在使用加密连接,请确保密钥中的证书在具有正确权限的同一位置出现。
二、将节点添加到集群中
在向集群添加节点时,可能需要打开端口。有关ClustrixDB所需的所有端口(包括用于多端口的端口)的清单,请参阅使用ClustrixDB的网络安全性。
连接到集群中的一个现有节点,并从SQL提示符运行以下命令。指定的IP是要添加的新节点的IP。
sql> ALTER CLUSTER ADD 'ip' [, 'ip'] ...;
ClustrixDB将执行组更改以添加新节点。
- Clustrix建议在非高峰期间或计划维护窗口期间运行此命令。
- 在添加节点时,服务将短暂中断。
- 在Rebalancer将数据移动到新节点时,性能略有下降。
(可选)为新添加的节点配置区域
如果使用区域,则必须使用ALTER CLUSTER区域将新添加的节点分配给各自的区域。仅为区域部分配置的集群在区域丢失时不能容错。
三、验证节点添加成功
从SQL提示符运行此查询。新节点将自动分配连续的节点号。
sql> SELECT * FROM system.nodeinfo ORDER BY nodeid;
通过在bash提示符中提供以下内容来查看集群的状态
shell> /opt/clustrix/bin/clx status
应该看到所有节点都显示OK。如果使用区域,则所有节点都应该分配一个非零区域。如果没有使用区域,则将所有节点分配给区域0。
您可能会注意到,节点之间的数据分布还不平衡。要有耐心。很快就会的。
如果您试图添加的节点没有出现在上面的列表中,请参阅下面有关Flex Up期间错误的部分。
四、监听rebalancer状态
新节点已经成功地添加到ClustrixDB集群中,但是它们还不包含数据。Rebalancer现在将自动在后台工作,将数据转移到新的节点。要监视此过程,请参阅有关管理Rebalancer的说明。集群功能齐全,可以在此过程中使用。
五、Flex Up过程遇到的错误
作为向集群添加节点的一部分,ClustrixDB执行一些检查以确保节点具有相同的配置。本节描述ALTER CLUSTER ADD可能遇到的错误以及如何解决这些问题。
SQL Errors
以下是您可能在SQL提示时遇到的错误
- ERROR 1 (HY000): [26633] Bad parameter.: Host "xxx" already in cluster
- 如果您试图添加已经是集群一部分的节点,则会发生此错误。
- ERROR 1 (HY000): [55300] Multiple nodes cannot be added when an existing addition is pending
- 由于下列原因,节点添加可能处于挂起状态:
节点仍在添加过程中
- 运行不同版本ClustrixDB的节点被添加到集群中
- 一个具有不同多端口设置的节点被添加到集群中
- 请参阅下面有关PROBLEM_NODES和pending_invite的部分,以解决这些错误。
- 由于下列原因,节点添加可能处于挂起状态:
PENDING_INVITES:
pending_invite的节点列表
sql> SELECT * FROM system.pending_invites;
集群定期尝试向system.pending_invite中的节点发送邀请。对于发送的每个邀请,clustrix.log中都会有记录:
sending invitation response(no error) to "10.2.13.68:24378"
注意:如果在pending_invites和system.problem_nodes中有同一个节点,在解决system.problem_nodes问题之前想要从system.pending_invites中移除节点,请使用pending_invite。这样做将防止在问题解决后自动将节点添加到集群中,从而导致过早的组更改。相反,您可能更喜欢在非高峰时间完成节点添加。
从pending_invite中删除一个挂起的节点添加
sql> DELETE FROM system.pending_invites;
PROBLEM_NODES:
查询system.problem_nodes查看为什么不能添加节点
sql> SELECT * FROM system.problem_nodes;
下面是system.problem_nodes中提供的原因列表,以及如何解决这些问题:
|
问题 |
解决 |
|---|---|
| Software binaries differ | 确保所有节点都运行相同版本的ClustrixDB |
| Multiport settings mismatched |
有关如何禁用多端口的说明,请参阅修改启动配置选项。 ClustrixDB的网络安全包含与启用多端口端口相关的信息。 |
33. ClustrixDB 扩展集群的容量-Flex up的更多相关文章
- 34. ClustrixDB 降低集群的容量-Flex down
有时,可能需要减少集群的容量: 减少高峰事件后的运营成本 为其他目的分配服务器. 删除故障硬件.(参见删除ALTER CLUSTER以删除永久失败的节点.) 在ClustrixDB中缩小集群的过程很简 ...
- Redis复制与可扩展集群搭建
抄自:http://www.infoq.com/cn/articles/tq-redis-copy-build-scalable-cluster 讨论了Redis的常用数据类型与存储机制,本文会讨论一 ...
- (转)Redis复制与可扩展集群搭建
讨论了Redis的常用数据类型与存储机制,本文会讨论一下Redis的复制功能以及Redis复制机制本身的优缺点以及集群搭建问题. Redis复制流程概述 Redis的复制功能是完全建立在之前我们讨论过 ...
- Redis复制与可扩展集群搭建【转】
本文会讨论一下Redis的复制功能以及Redis复制机制本身的优缺点以及集群搭建问题. Redis复制流程概述 Redis的复制功能是完全建立在之前我们讨论过的基于内存快照的持久化策略基础上的,也就是 ...
- 003.Ceph扩展集群
一 基础准备 参考<002.Ceph安装部署>文档部署一个基础集群. 二 扩展集群 2.1 扩展架构 需求:添加Ceph元数据服务器node1.然后添加Ceph Monitor和Ceph ...
- voltdb数据库持久性,扩展集群
之前在git上下载的voltdb,以及在官网下载的社区版voltdb均不支持持久性事务,和扩展集群,今天下载了企业试用版voltdb,安装过程不再赘述,记录一下我的使用过程 持久性测试 以前的 vol ...
- druid.io本地集群搭建 / 扩展集群搭建
druid.io 是一个比较重型的数据库查询系统,分为5种节点 . 在此就不对数据库进行介绍了,如果有疑问请参考白皮书: http://pan.baidu.com/s/1eSFlIJS 单台机器的集群 ...
- hadoop在线重启namenode+在线扩展集群
1.执行步骤 修改dfs.namenode.handler.count=150 () NameNode 有一个工作线程池用来处理客户端的远程过程调用及集群守护进程的调用.处理程序数量越多意味着要更大的 ...
- 33. docker swarm 集群服务通信 之 RoutingMesh - Ingress 网络
1.作用 当在 任何 一个 swarm 节点去访问 端口服务的时候 会通过 本节点 的 IPVS ( ip virtual service ) 到 真正的 swarm 节点上 当访问 docker h ...
随机推荐
- soap-ws获取ws中的所有的接口方法
soap-ws获取wsdl中的所有的接口方法 示例wsdl文件如下,生成的过程可以参考https://www.cnblogs.com/chenyun-/p/11502446.html: <def ...
- SQL Server解惑——为什么你的查询结果超出了查询时间范围
原文:SQL Server解惑--为什么你的查询结果超出了查询时间范围 废话少说,直接上SQL代码(有兴趣的测试验证一下),下面这个查询语句为什么将2008-11-27的记录查询出来了呢?这个是同事遇 ...
- php 一些常用函数
1.var_export() var_export — 输出或返回一个变量的字符串表示此函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP ...
- 小米soar
SOAR 简介 SOAR,即 SQL Optimizer And Rewriter,是一款 SQL 智能优化与改写工具,由小米运维 DBA 团队出品 SOAR 体系架构 SOAR主要由语法解析器,集成 ...
- MyBatis学习存档(1)——入门
一.简介 MyBatis的前身是iBatis,本是Apache的一个开源的项目 MyBatis是一个数据持久层(ORM)框架,把实体类和SQL语句之间建立了映射关系,是一种半自动化的ORM实现 MyB ...
- 并不对劲的CF1237D&E:Balanced Playlist and Binary Search Trees
CF1237D Balanced Playlist 题意 有一个长度为\(n\)(\(n\leq 10^5\))的循环播放歌单,每首歌有一个优秀值\(a_i\)(\(a_i\leq 10^9\)). ...
- java——ArrayList中contains()方法中的疑问
问题引子: ist<Student> students=new ArrayList<Student>(); students.add(new Student("201 ...
- C语言中signed和unsigned理解
一直在学java,今天开始研究ACM的算法题,需要用到C语言,发现好多知识点都不清楚了,看来以后要多多总结~ signed意思为有符号的,也就是第一个位代表正负,剩余的代表大小,例如:signed i ...
- js判断一个 object 对象是否为空
方法一:使用for...in for...in... 遍历属性,为真则为“非空数组”:否则为“空数组” for (var i in obj) { return true // 如果不为空,则会执行到 ...
- ubuntu18.3完美安装qq
创建一个脚本全自动安装 #!/bin/bash # 安装 deepin-wine sudo mkdir deepin-wine deepin-qq cd deepin-wine git clone h ...