1

使用https://docs.yugabyte.com/latest/deploy/public-clouds/aws/#manual-deployment中记录的步骤,我们能够使用社区版创建一个 6 节点、3 个可用区 (AZ) 集群YugaByte 的。

我们现在要测试将集群从 6 个节点扩展到 9 个节点。

a) 将每个 AZ 中的三个模式节点添加到 YugaByte DB 中正在运行的集群的过程是什么?

b) 并且,节点应该在它们之间或一次添加一些推荐的时间间隔吗?

c) 一旦节点成为集群的一部分,是否需要任何额外的步骤来触发现有表到新节点的负载平衡?

找不到与上述相关的文档。谢谢您的帮助。

4

1 回答 1

1

a) 以 AZ 感知方式添加节点

ulimit在设置、数据驱动准备、YugaByte DB 软件安装等方面,新节点的准备应与其他节点类似(如您发布的链接中所述) 。

在集群扩容过程中,鉴于已经有足够多的节点运行yb-master进程,新节点只需要运行yb-tserver进程即可。yb-master向集群添加节点时,可以省略与进程相关的步骤。[要了解更多关于流程的作用yb-masteryb-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-2bus-west-2c

yb-tserver在分布于三个 AZ 的最初 6 个节点上进行设置时,您会做类似的事情。

启动这些yb-tserver's 与初始服务器没有什么不同。例如:

~/tserver/bin/yb-tserver --flagfile ~/yb-conf/tserver.conf >& /mnt/d0/yb-tserver.out &

注意:主地址 gflag 的值tserver_master_addrstserver.conf与现有yb-tservers. 这就是确保这些节点无缝加入现有集群的原因。

b) 节点可以一次性添加/启动。无需一次添加一个,中间有一些等待间隔。后者实际上可能会导致数据重新平衡/移动的次数超出必要的次数。当系统知道它需要同时从 6 节点状态变为 9 节点状态时,它可以通过仅执行所需数量的数据移动来更优化地到达平衡集群的所需最终状态。

c) 不需要额外的步骤来触发负载平衡!系统以速率受限的方式自动重新平衡平板电脑(分片),以尽量减少对前台应用程序的影响。目前,每个节点的速率限制由 gflag 控制,remote_boostrap_rate_limit_bytes_per_sec默认为 100 MB/秒。但根据可用的工作负载和带宽,这可以调整为更激进或更保守的设置。请注意,此重新平衡是 YugaByte DB 中的后台和在线操作,是通过从相应的 tablet 领导者那里复制压缩文件来完成的。因此,它比最终一致的数据库(如 Apache Cassandra 或 MongoDB)要轻得多,后者必须对所有对等方的数据进行逻辑(未压缩)读取。

于 2019-01-22T18:54:02.870 回答