a) 以 AZ 感知方式添加节点
ulimit
在设置、数据驱动准备、YugaByte DB 软件安装等方面,新节点的准备应与其他节点类似(如您发布的链接中所述) 。
在集群扩容过程中,鉴于已经有足够多的节点运行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
。
yb-tserver
在分布于三个 AZ 的最初 6 个节点上进行设置时,您会做类似的事情。
启动这些yb-tserver
's 与初始服务器没有什么不同。例如:
~/tserver/bin/yb-tserver --flagfile ~/yb-conf/tserver.conf >& /mnt/d0/yb-tserver.out &
注意:主地址 gflag 的值tserver_master_addrs
应tserver.conf
与现有yb-tservers
. 这就是确保这些节点无缝加入现有集群的原因。
b) 节点可以一次性添加/启动。无需一次添加一个,中间有一些等待间隔。后者实际上可能会导致数据重新平衡/移动的次数超出必要的次数。当系统知道它需要同时从 6 节点状态变为 9 节点状态时,它可以通过仅执行所需数量的数据移动来更优化地到达平衡集群的所需最终状态。
c) 不需要额外的步骤来触发负载平衡!系统以速率受限的方式自动重新平衡平板电脑(分片),以尽量减少对前台应用程序的影响。目前,每个节点的速率限制由 gflag 控制,remote_boostrap_rate_limit_bytes_per_sec
默认为 100 MB/秒。但根据可用的工作负载和带宽,这可以调整为更激进或更保守的设置。请注意,此重新平衡是 YugaByte DB 中的后台和在线操作,是通过从相应的 tablet 领导者那里复制压缩文件来完成的。因此,它比最终一致的数据库(如 Apache Cassandra 或 MongoDB)要轻得多,后者必须对所有对等方的数据进行逻辑(未压缩)读取。