3.5.1 将集群导入 MySQL Cluster Manager:基本步骤

导入过程通常包括此处列出的步骤:

  1. 为迁移准备wild集群。

  2. 验证集群进程的 PID 文件。

  3. 在 MySQL 集群管理器中创建并配置一个目标 集群,其配置与 野生集群的配置相匹配。

  4. 执行测试运行,然后执行 import cluster命令。

这个扩展列表将刚才提到的每个任务分解为更小的步骤:

  1. 为迁移准备wild集群

    1. 强烈建议您在对wild集群进行更改之前使用ndb_mgm 客户端对其进行完整备份。有关更多信息,请参阅 使用 NDB Cluster Management Client 创建备份

    2. 任何受系统启动时进程管理工具控制的集群进程,例如/etc/init.dLinux 系统或 Windows 平台上的服务管理器,都应该脱离其控制。

    3. wild集群的配置必须满足以下要求,如果不满足则需要重新配置并重启:

      • NodeID必须为每个节点分配。

      • DataDir必须为每个管理节点和数据节点指定,并且不同节点的数据目录不能相互重叠。

      • 必须提供一个不绑定到任何主机 的免费” API 节点, mcmd代理可以通过它与集群通信。

    4. 在每个SQL节点上创建一个mysql用户named mcmd,并赋予该用户root权限。

    5. 确保为每个管理节点禁用配置缓存。由于默认情况下启用配置缓存,除非已使用该选项启动管理节点,否则除了 --config-cache=false 之前启动的其他选项之外,您还需要使用该选项停止并重新启动它。

    6. 对于 MySQL Cluster Manager 1.4.6 及更早版本:使用您系统的工具终止每个数据节点天使进程。不要杀死任何非天使数据节点守护进程。

      (MySQL Cluster Manager 1.4.7 及更高版本不需要此步骤。)

  2. 验证集群进程 PID 文件

    1. 验证wild 集群中的每个进程都有一个有效的 PID 文件。

    2. 如果给定进程没有有效的 PID 文件,您必须为其创建一个。

    有关更详细的解释和示例 , 请参阅 第 3.5.2.2 节,“验证所有集群进程 PID 文件” 。

  3. 在 MySQL 集群管理器控制下创建和配置目标”集群

    1. 安装 MySQL Cluster Manager 并在所有主机上使用启动 wild 集群进程的相同系统用户 启动mcmd 。

    2. 使用命令创建包含这些主机的 MySQL Cluster Manager 站点 create site

    3. 使用命令添加引用 MySQL NDB Cluster 二进制文件的 MySQL Cluster Manager 包add package 。使用此命令的 --basedir选项指向 MySQL NDB Cluster 安装目录的位置。

    4. 使用命令创建目标集群 create cluster,包括与野外集群相同的进程和主机。使用命令的 --import选项指定集群是导入目标。

      如果 wild 集群遵循命令描述中给出的节点 ID 分配建议,则 create cluster无需在 create cluster命令中为进程指定节点 ID。

      此外,此步骤可以拆分为一个 create cluster命令,后跟一个或多个 add process命令(请参阅 第 3.5.2.3 节,“创建和配置目标集群”)。

    5. 用于import config将 wild 集群的配置数据复制到目标集群中。使用此命令的 --dryrun 选项(缩写形式-y:)执行测试运行,仅记录命令在没有选项的情况下执行时复制的配置信息。

      如果野生集群中的任何ndb_mgmdmysqld进程在默认端口以外的端口上运行,您必须首先执行set 命令以在目标集群中为它们分配正确的端口号。当所有这些进程都在正确的端口上运行并且空运行成功时,您可以执行import config(没有 --dryrun 选项)复制野生集群的配置数据。在此步骤之后,您应该检查日志以及目标集群的配置,以确保所有配置属性都已正确复制并具有正确的范围。set使用适当的命令 更正任何与 wild 集群配置不一致的 地方。

  4. 测试并执行 wild cluster 的迁移

    1. import cluster使用 选项 执行建议迁移的测试运行 --dryrun ,这会导致 MySQL 集群管理器检查错误,但实际上不会迁移任何进程或数据。

    2. 使用 更正发现的任何错误 --dryrun。重复上一步的试运行,以确保没有遗漏任何错误。

    3. 当试运行不再报告任何错误时,您可以使用 执行迁移import cluster,但不要使用该 --dryrun 选项。