如何将一个或多个节点添加到现有的YugaByte DB CE集群?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将一个或多个节点添加到现有的YugaByte DB CE集群?相关的知识,希望对你有一定的参考价值。
使用https://docs.yugabyte.com/latest/deploy/public-clouds/aws/#manual-deployment中记录的步骤,我们能够使用YugaByte的社区版创建一个6节点,3个可用区(AZ)集群。
我们现在要测试将集群从6个节点扩展到9个节点。
a)在YugaByte DB中将每个AZ中的一个模式节点添加到此运行集群的过程是什么?
b)并且,节点是否应该添加一些推荐的时间间隔或者一次性添加?
c)一旦节点成为集群的一部分,是否需要触发现有表到新节点的负载平衡所需的任何其他步骤?
找不到与上述相关的文档。谢谢您的帮助。
a)以AZ感知方式添加节点
在ulimit
设置,数据驱动器准备,YugaByte数据库软件安装等方面,新节点应与其他节点(如您发布的链接中所述)类似地准备。
在集群扩展期间,假设已经有足够的节点运行yb-master
进程,新节点只需要运行yb-tserver
进程。将节点添加到群集时,可以省略与yb-master
进程相关的步骤。 [要了解更多关于yb-master
和yb-tserver
过程的作用,请参阅https://docs.yugabyte.com/latest/architecture/concepts/universe/.]
为新添加的节点准备yb-tserver
配置文件时,请务必正确设置其放置信息标记(云/区域/区域),告知系统及其负载平衡器所需的每个节点的位置信息:
例如,对于第一个新节点,这些标志可能类似于:
--placement_cloud=aws
--placement_region=us-west
--placement_zone=us-west-2a
而对于另外两个节点,--placement_zone
可能会说us-west-2b
和us-west-2c
。
当你在三个AZ上分布的最初6个节点上设置yb-tserver
时,你会做类似的事情。
启动那些yb-tserver
将与初始服务器没有什么不同。例如:
~/tserver/bin/yb-tserver --flagfile ~/yb-conf/tserver.conf >& /mnt/d0/yb-tserver.out &
注意:qazxsw poi中主地址标志qazxsw poi的值应与现有tserver_master_addrs
的值相同。这就是确保这些节点无缝加入现有集群的原因。
b)可以一次添加/启动节点。没有必要在它们之间添加一个等待间隔。后者实际上可能导致数据重新平衡/移动的次数超过必要的次数。当系统知道它需要同时从6节点状态进入9节点状态时,它可以通过仅执行所需的数据移动量来更优化地达到平衡群集的期望结束状态。
c)不需要额外的步骤来触发负载平衡!系统以限速方式自动重新平衡平板电脑(分片),以最大限度地减少对前台应用程序的影响。目前,此每节点速率限制由gflag tserver.conf
控制,其默认值为100 MB /秒。但是根据可用的工作负载和带宽,可以将其调整为更积极或更保守的设置。请注意,此重新平衡是YugaByte数据库中的后台和在线操作,通过从相应的平板电脑领导者复制压缩文件来完成。因此,它比最终一致的数据库(如Apache Cassandra或MongoDB)重量轻得多,这些数据库必须对来自所有对等体的数据进行逻辑(未压缩)读取。
以上是关于如何将一个或多个节点添加到现有的YugaByte DB CE集群?的主要内容,如果未能解决你的问题,请参考以下文章
Xcode:如何将 Unity 游戏添加到现有的 iOS 应用程序?