10bet网址
MySQL NDB集群8.0
相关的文档10bet官方网站 下载这个摘录
PDF (Ltr)- 4.6 mb
PDF (A4)- 4.6 mb


MySQL NDB集群8.0/.../ 在线添加NDB集群数据节点:基本流程

6.7.2在线添加NDB集群数据节点:基本操作

在本节中,我们列出了向NDB集群添加新数据节点所需的基本步骤。本程序适用于您是否正在使用ndbdndbmtd数据节点进程的二进制文件。有关更详细的示例,请参见第6.7.3节,“在线添加NDB集群数据节点:详细示例”

假设你已经有一个正在运行的NDB集群,在线添加数据节点需要以下步骤:

  1. 编辑集群配置config.ini文件,添加新(ndbd)与待添加节点对应的章节。在集群使用多个管理服务器的情况下,需要对所有服务器进行这些更改config.ini管理服务器使用的文件。

    中添加的任何新数据节点的节点id必须小心config.ini“file”文件中的节点id不能与已有节点使用的节点id重叠。如果您有使用动态分配的节点id的API节点,并且这些id与您希望用于新数据节点的节点id相匹配,那么可以强制任何这样的API节点使用迁移,如本过程后面所述。

  2. 滚动重启所有NDB Cluster管理服务器。

    重要的

    必须重启所有管理服务器——重新加载——初始选项强制读取新配置。

  3. 滚动重启所有现有的NDB Cluster数据节点。使用它是不必要的(或者通常是可取的)——初始重新启动现有数据节点时。

    如果您使用的API节点的id与您希望分配给新数据节点的任何节点id相匹配,那么在此步骤中重新启动任何数据节点进程之前,必须重新启动所有API节点(包括SQL节点)。这将导致以前没有显式分配节点id的任何API节点放弃这些节点id,并获取新的节点id。

  4. 滚动重启所有连接到NDB集群的SQL或API节点。

  5. 启动新的数据节点。

    新的数据节点可以以任何顺序启动。它们也可以同时启动,只要它们是在所有现有数据节点的滚动重启完成之后,并在进行下一步之前启动的。

  6. 执行一个或多个创建节点组命令,创建新数据节点所属的节点组或节点组。

  7. 在所有数据节点(包括新节点)之间重新分发集群的数据。通常这是通过发出一个ALTER TABLE……算法=原地,重组分区声明mysql客户对每一个NDBCLUSTER表格

    异常方法创建的表MAX_ROWS选项,此语句不起作用;相反,使用ALTER TABLE……算法=原地MAX_ROWS =…重新组织这样的表。您还应该记住使用MAX_ROWS以这种方式设置分区数量是不建议的,您应该使用PARTITION_BALANCE相反;看到设置NDB注释选项,以获取更多信息。

    请注意

    只需要对添加新节点组时已经存在的表执行此操作。添加新节点组后创建的表中的数据自动分发;但是,添加到任何给定表的数据资源描述在添加新节点之前存在的数据在重新组织表之前不会使用新节点分布。

  8. ALTER TABLE……重组分区算法=原地重新组织分区,但不回收上释放的空间节点。您可以通过为每一个发出,来实现这一点NDBCLUSTER表,一个优化表声明mysql客户端。

    这适用于内存中可变宽度列所使用的空间NDB表。优化表内存中表的固定宽度列不支持;磁盘数据表也不支持它。

您可以添加所有需要的节点,然后发出几个节点创建节点组命令将新节点组添加到集群。