3.4.1 使用 MySQL Cluster Manager 创建 MySQL Cluster

在本节中,我们将讨论使用 MySQL Cluster Manager 创建和启动新 MySQL Cluster 的过程。我们假设您已经获得了 MySQL Cluster Manager 和 MySQL Cluster 软件,并且您已经熟悉了 MySQL Cluster Manager 的安装(参见 第 2 章,MySQL Cluster Manager 安装、配置、集群设置)。

MySQL Cluster Manager 1.3.0 及更高版本还支持导入现有的独立 MySQL 集群;有关详细信息,请参阅 第 3.5 节,“将 MySQL 集群导入 MySQL 集群管理器”

我们还假设您已经确定了计划在其上运行集群的主机,并已决定了这些主机中不同类型节点的类型和分布,以及基于这些因素和集群硬件特性的基本配置要求。主机。

笔记

您可以在单个主机上创建和启动 MySQL 集群以用于测试或类似目的,只需通过 使用该 选项调用mcmd即可。--bootstrap请参阅第 3.2 节,“启动和停止 MySQL Cluster Manager 代理”

创建新集群包括以下任务:

  • MySQL Cluster Manager 代理安装和启动。 安装 MySQL Cluster Manager 软件分发版,对代理配置文件进行任何必要的编辑,并按照第 2 章MySQL Cluster Manager 安装、配置、集群设置 中的说明启动代理进程 . 在创建集群之前,代理进程必须在所有集群主机上运行。这意味着您需要在每个主机上放置 MySQL Cluster Manager 软件分发的完整副本。MySQL Cluster Manager 软件不必位于特定位置,甚至不必位于所有主机上的同一位置,但它必须存在;您无法管理托管在未运行 mcmd的计算机上的任何集群进程。

  • MySQL Cluster Manager 客户端会话启动。  启动 MySQL Cluster Manager 客户端并连接到 MySQL Cluster Manager 代理。您可以连接到在任何集群主机上运行的代理进程,使用可以与所需主机建立网络连接的任何计算机上的mcm客户端。有关详细信息,请参阅 第 3.3 节,“启动 MySQL Cluster Manager 客户端”

    mcm不可用的系统上,您可以为此目的使用mysql客户端。请参阅使用mysql客户端连接到代理

  • MySQL Cluster 软件部署。  最简单和最容易的方法是将完整的 MySQL Cluster 分布复制到集群中每台主机上的相同位置。(如果您在每台主机上都安装了 MySQL Cluster Manager 1.3.6,则 MySQL Cluster NDB 7.2.4 发行版已经包含在 . 中mcm_installation_dir/cluster。)如果您没有在每台主机上使用相同的位置,请务必为每台主机注明. 不要启动任何 MySQL Cluster 进程或编辑任何配置文件;创建新集群时,MySQL Cluster Manager 会自动处理这些任务。

    在 Windows 主机上,您不应 任何 MySQL Cluster 节点进程程序安装为服务,包括ndb_mgmd.exendbd.exendbmtd.exemysqld.exe。MySQL Cluster Manager 独立于 Windows Service Manager 管理 MySQL Cluster 进程,并且在这样做时不与 Service Manager 或任何 Windows 服务交互。

    笔记

    实际上,您可以随时执行此步骤,直至注册软件包(使用 add package)。但是,我们建议您在执行任何 MySQL Cluster Manager 客户端命令之前准备好所有必需的软件(包括 MySQL Cluster 软件)。

  • 管理站点定义。  使用create site MySQL Cluster Manager 客户端中的命令,定义一个 MySQL Cluster Manager 管理站点——即要管理的主机集。此命令为站点提供名称,并且必须引用集群中的所有主机。 第 4.2.6 节“create site命令”提供了有关此命令的语法和其他信息。要验证站点是否已正确创建,请使用 MySQL Cluster Manager 客户端命令 list siteslist hosts.

  • MySQL Cluster软件包注册。 add package 在此步骤中,您使用一个或多个命令 在集群中的所有主机上提供 MySQL 集群软件的位置。要验证包是否已正确创建,请使用list packageslist processes命令。

  • 集群定义。  执行一个create cluster 命令来定义一组 MySQL Cluster 节点(进程)和每个集群进程运行的主机,组成一个 MySQL Cluster。此命令还使用在上一步中注册的包的名称,以便 MySQL 集群管理器知道运行每个集群进程的二进制文件的位置。您可以使用 list clusterslist processes命令来确定集群是否已按需要定义。

    如果您希望使用 SQL 节点连接池,请 在创建集群之前 查看mysqld连接池的设置。

  • 初始配置。  在启动集群之前执行任何需要或期望的集群配置。set您可以使用 MySQL 集群管理器客户端命令为 MySQL 集群管理器配置属性(MySQL 集群参数和 MySQL 服务器选项)设置值 。您不需要直接编辑任何配置文件——事实上,您不应该这样做。请记住,某些属性是只读的,而其他一些属性在集群首次启动后无法重置。您可以使用 get命令来验证属性是否已设置为正确的值。

  • 集群启动。  完成前面的步骤(包括必要或所需的初始配置)后,您就可以启动集群了。该start cluster命令以正确的顺序启动所有集群进程。您可以在该命令完成后使用 MySQL Cluster Manager 客户端命令验证集群是否已启动并正常运行 show status。此时,集群已准备好供 MySQL 集群应用程序使用。