导入过程通常包括此处列出的步骤:
为迁移准备“ wild ”集群。
验证集群进程的 PID 文件。
在 MySQL 集群管理器中创建并配置一个“目标” 集群,其配置与 “野生”集群的配置相匹配。
执行测试运行,然后执行
import cluster
命令。
这个扩展列表将刚才提到的每个任务分解为更小的步骤:
为迁移准备“ wild ”集群
强烈建议您在对“ wild ”集群进行更改之前使用ndb_mgm 客户端对其进行完整备份。有关更多信息,请参阅 使用 NDB Cluster Management Client 创建备份。
任何受系统启动时进程管理工具控制的集群进程,例如
/etc/init.d
Linux 系统或 Windows 平台上的服务管理器,都应该脱离其控制。wild集群的配置必须满足以下要求,如果不满足则需要重新配置并重启:
NodeID
必须为每个节点分配。DataDir
必须为每个管理节点和数据节点指定,并且不同节点的数据目录不能相互重叠。必须提供一个不绑定到任何主机 的“免费” API 节点, mcmd代理可以通过它与集群通信。
在每个SQL节点上创建一个mysql用户named
mcmd
,并赋予该用户root权限。确保为每个管理节点禁用配置缓存。由于默认情况下启用配置缓存,除非已使用该选项启动管理节点,否则除了
--config-cache=false
之前启动的其他选项之外,您还需要使用该选项停止并重新启动它。对于 MySQL Cluster Manager 1.4.6 及更早版本:使用您系统的工具终止每个数据节点天使进程。不要杀死任何非天使数据节点守护进程。
(MySQL Cluster Manager 1.4.7 及更高版本不需要此步骤。)
验证集群进程 PID 文件。
验证“ wild ” 集群中的每个进程都有一个有效的 PID 文件。
如果给定进程没有有效的 PID 文件,您必须为其创建一个。
有关更详细的解释和示例 , 请参阅 第 3.5.2.2 节,“验证所有集群进程 PID 文件” 。
在 MySQL 集群管理器控制下创建和配置“目标”集群
安装 MySQL Cluster Manager 并在所有主机上使用启动 wild 集群进程的相同系统用户 启动mcmd 。
使用命令创建包含这些主机的 MySQL Cluster Manager 站点
create site
。使用命令添加引用 MySQL NDB Cluster 二进制文件的 MySQL Cluster Manager 包
add package
。使用此命令的--basedir
选项指向 MySQL NDB Cluster 安装目录的位置。使用命令创建目标集群
create cluster
,包括与野外集群相同的进程和主机。使用命令的--import
选项指定集群是导入目标。如果 wild 集群遵循命令描述中给出的节点 ID 分配建议,则
create cluster
无需在create cluster
命令中为进程指定节点 ID。此外,此步骤可以拆分为一个
create cluster
命令,后跟一个或多个add process
命令(请参阅 第 3.5.2.3 节,“创建和配置目标集群”)。用于
import config
将 wild 集群的配置数据复制到目标集群中。使用此命令的--dryrun
选项(缩写形式-y
:)执行测试运行,仅记录命令在没有选项的情况下执行时复制的配置信息。如果野生集群中的任何
ndb_mgmd
或mysqld
进程在默认端口以外的端口上运行,您必须首先执行set
命令以在目标集群中为它们分配正确的端口号。当所有这些进程都在正确的端口上运行并且空运行成功时,您可以执行import config
(没有--dryrun
选项)复制野生集群的配置数据。在此步骤之后,您应该检查日志以及目标集群的配置,以确保所有配置属性都已正确复制并具有正确的范围。set
使用适当的命令 更正任何与 wild 集群配置不一致的 地方。
测试并执行 wild cluster 的迁移。
import cluster
使用 选项 执行建议迁移的测试运行--dryrun
,这会导致 MySQL 集群管理器检查错误,但实际上不会迁移任何进程或数据。使用 更正发现的任何错误
--dryrun
。重复上一步的试运行,以确保没有遗漏任何错误。当试运行不再报告任何错误时,您可以使用 执行迁移
import cluster
,但不要使用该--dryrun
选项。