Database 如何向现有的YugaByte DB CE集群添加一个或多个节点?
使用中记录的步骤,我们能够使用YugaByte的社区版创建一个6节点、3可用性区域(AZ)集群 我们现在要测试将集群从6个节点扩展到9个节点 a) 在YugaByte DB中将三个模式节点(每个AZ中一个)添加到该运行集群的过程是什么 b) 并且,应该在节点之间添加一些推荐的时间间隔,还是一次添加所有节点 c) 一旦节点成为集群的一部分,是否需要额外的步骤来触发现有表到新节点的负载平衡 找不到与上述内容相关的文档。感谢您的帮助。a)以AZ感知的方式添加节点 在Database 如何向现有的YugaByte DB CE集群添加一个或多个节点?,database,distributed-system,yugabyte-db,Database,Distributed System,Yugabyte Db,使用中记录的步骤,我们能够使用YugaByte的社区版创建一个6节点、3可用性区域(AZ)集群 我们现在要测试将集群从6个节点扩展到9个节点 a) 在YugaByte DB中将三个模式节点(每个AZ中一个)添加到该运行集群的过程是什么 b) 并且,应该在节点之间添加一些推荐的时间间隔,还是一次添加所有节点 c) 一旦节点成为集群的一部分,是否需要额外的步骤来触发现有表到新节点的负载平衡 找不到与上述内容相关的文档。感谢您的帮助。a)以AZ感知的方式添加节点 在ulimit设置、数据驱动器准备、Y
ulimit
设置、数据驱动器准备、YugaByte DB软件安装等方面,新节点的准备应与其他节点类似(如您发布的链接中所述)
在集群扩展期间,考虑到已经有足够的节点运行yb master
进程,新节点只需要运行yb tserver
进程。将节点添加到集群时,可以省略与yb master
进程相关的步骤。[要了解有关yb主机
和yb-tserver
进程的角色的更多信息,请参阅
为新添加的节点准备yb tserver
config文件时,请确保适当设置它们的placement info标志(云/区域/区域),以告知系统及其负载平衡器有关每个节点所在位置的所需信息:
例如,对于第一个新节点,这些标志可能类似于:
--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 &
注意:tserver.conf
中的主地址gflagtserver\u master\u addrs
的值应该与现有的yb tserver
的值相同。这就是确保这些节点无缝地加入现有集群的原因
b) 可以一次添加/启动所有节点。不需要一次添加一个节点,其间有一定的等待时间间隔。后者实际上可能会导致数据重新平衡/移动的次数超过需要的次数。当系统知道它需要一次从6节点状态变为9节点状态时,它可以更优化地到达所需的端点通过只进行所需数量的数据移动来实现平衡集群的目标
c) 触发负载平衡不需要其他步骤!系统会自动重新平衡平板电脑(碎片)以速率限制的方式将对前台应用程序的影响降至最低。目前,此每个节点的速率限制由gflagremote\u boostrap\u rate\u limit\u bytes\u per\u sec
控制,其默认值为100 MB/秒。但根据可用的工作负载和带宽,可以将其调整为更激进或保守的设置。注意这种重新平衡是YugaByte DB中的后台和在线操作,通过从相应的平板电脑领导者复制压缩文件来完成。因此,它比最终一致的数据库(如Apache Cassandra或MongoDB)重量要轻得多,后者必须从所有对等方进行逻辑(未压缩)读取数据