4.5.2.1 为迁移准备独立集群

导入过程的下一步是准备迁移的野生集群。除其他事项外,这需要将集群进程从任何系统服务管理工具的控制中移除,并确保所有管理节点都在禁用配置缓存的情况下运行。本节的其余部分提供了有关执行这些任务的更多详细信息。

  1. 在继续进行任何迁移之前,强烈建议 使用ndb_mgm客户端的 命令进行备份。START BACKUP

  2. 任何受系统引导进程管理工具(例如 /etc/init.dLinux 系统或 Windows 平台上的服务管理器)控制的集群进程都应从该工具的控制中移除。有关如何执行此操作的信息,请参阅操作系统的文档。确保在这样做的过程中不要停止任何正在运行的集群进程。

  3. 在每个wild集群的SQL节点上创建一个MySQL用户账户,供MySQL Cluster Manager执行后面步骤中的 import configimport cluster命令。MySQL Cluster Manager 用于访问 MySQL 节点的帐户名和密码由 mcmd代理选项 mcmd-usermcmd_password(默认值为mcmdsuper, 分别); 在野集群的 SQL 节点上创建帐户时使用这些凭据,并授予用户在服务器上的所有权限,包括授予权限的权限。例如,使用mysql客户端as 登录wild集群的各个SQL节点,root执行如下所示的SQL语句:

    CREATE USER 'mcmd'@'localhost' IDENTIFIED BY 'super';
    
    GRANT ALL PRIVILEGES ON *.* TO 'mcmd'@'localhost' WITH GRANT OPTION;

    请记住,这必须在所有 SQL 节点上完成,除非在 wild 集群上启用了分布式权限。

  4. 确保 wild 集群的每个节点都已启动,其节点 ID 是 --ndb-nodeid在命令行选项中指定的,而不仅仅是在集群配置文件中。这是导入期间mcmd正确识别每个进程所必需 的。您可以检查ps -ef |是否满足要求 。grep命令,显示进程启动时使用的选项:

    $> ps -ef | grep ndb_mgmd
    ari       8118     1  0 20:51 ?        00:00:04 /home/ari/bin/cluster/bin/ndb_mgmd --config-file=/home/ari/bin/cluster/wild-cluster/config.ini
    --configdir=/home/ari/bin/cluster/wild-cluster --initial --ndb-nodeid=50

    (为清楚起见,在本节和后续部分的 ps -ef | grep命令的命令输出中,我们将跳过grep进程本身的输出行。)

    如果不满足要求,则使用--ndb-nodeid选项重新启动进程;对于您在这些步骤中重启的任何节点,也可以在下面的步骤 (e) 或 (f) 中执行重启。

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

    在 Linux 上,我们可以再次使用 ps来获取完成这一步所需的信息。198.51.100.102在管理节点所在的 host 上的 shell 中:

    $> ps -ef | grep ndb_mgmd
    ari       8118     1  0 20:51 ?        00:00:04 /home/ari/bin/cluster/bin/ndb_mgmd --config-file=/home/ari/bin/cluster/wild-cluster/config.ini
    --configdir=/home/ari/bin/cluster/wild-cluster --initial --ndb-nodeid=50

    进程ID为8118,默认开启配置缓存,使用 --configdir选项指定配置目录。首先,使用kill终止管理节点 ,如下所示,使用之前从 ps获得的进程 ID :

    $> kill -15 8118

    验证管理节点进程是否已停止——它不应再出现在另一个ps命令的输出中。

    现在,如前所述重新启动管理节点,禁用配置缓存并使用之前启动时使用的选项。此外,如上面步骤 (d) 中所述,请确保 --ndb-nodeid在重新启动时指定该选项:

    $> /home/ari/bin/cluster/bin/ndb_mgmd --config-file=/home/ari/bin/cluster/wild-cluster/config.ini --config-cache=false  --ndb-nodeid=50
    MySQL Cluster Management Server mysql-8.0.31
    2020-11-08 21:29:43 [MgmtSrvr] INFO     -- Skipping check of config directory since config cache is disabled.
    警告

    此步骤中重启 ndb_mgmd时 不要使用0or OFFfor 选项的值 。使用这些值中的任何一个而不是此时会导致管理节点进程的迁移在导入过程的稍后点失败。 --config-cachefalse

    使用ps 验证进程是否按预期运行 :

    $> ps -ef | grep ndb_mgmd
    ari      10221     1  0 19:38 ?        00:00:09 /home/ari/bin/cluster/bin/ndb_mgmd --config-file=/home/ari/bin/cluster/wild-cluster/config.ini --config-cache=false --ndb-nodeid=50

    管理节点现在已准备好迁移。

    重要的

    虽然我们的示例集群只有一个管理节点,但 MySQL NDB 集群可以有多个。在这种情况下,您必须确保 使用此步骤中描述的步骤 为每个管理禁用配置缓存。