gpt4 book ai didi

database - 如何向现有的 YugaByte DB CE 集群添加一个或多个节点?

转载 作者:搜寻专家 更新时间:2023-10-30 23:27:43 26 4
gpt4 key购买 nike

使用 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 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

在分布在三个可用区的最初 6 个节点上设置 yb-tserver 时,您会做类似的事情。

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

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

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

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

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

关于database - 如何向现有的 YugaByte DB CE 集群添加一个或多个节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54282262/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com