21.2.2.2 使用 NDB 群集自动安装程序

NDB 群集自动安装程序界面由几页组成,每页对应于用于配置和部署 NDB 群集的过程中的一个步骤。这些页面按 Sequences 列出在这里:

  • Welcome :通过选择配置新的 NDB 群集或 continue 配置现有的 NDB 群集来开始使用自动安装程序。

  • Define Cluster :设置有关整个群集的基本信息,例如名称,主机和负载类型。如果需要,您还可以在此处设置用于访问远程主机的 SSH 身份验证类型。

  • Define Hosts :确定要在其中运行 NDB 群集进程的主机。

  • Define Processes :将一种或多种给定类型的进程分配给每个群集主机。

  • Define Parameters :设置进程或进程类型的配置属性。

  • Deploy Configuration :使用先前设置的配置部署集群;启动和停止已部署的集群。

NDB 群集安装程序设置和帮助菜单

这些菜单显示在除“欢迎”屏幕以外的所有屏幕上。他们提供对安装程序设置和信息的访问。设置菜单显示在这里更详细:

图 21.16 NDB 群集自动安装程序设置菜单

内容在周围的 Literals 中描述。

设置菜单包含以下条目:

  • 自动将配置保存为 cookie:将配置信息(例如主机名,过程数据和参数值)保存为浏览器中的 cookie。选择此选项时,将保存除任何 SSH 密码以外的所有信息。这意味着您可以退出并重新启动浏览器,并在上一个会话结束时从上次中断处 continue 使用相同的配置。默认情况下启用此选项。

SSH 密码永远不会保存;如果使用一个,则必须在每个新会话的开始时提供它。

  • 显示高级配置选项:默认情况下显示高级配置参数(如果有)。

设置后,高级参数将 continue 在配置文件中使用,直到显式更改或重置它们为止。这与高级参数当前在安装程序中是否可见无关。换句话说,禁用菜单项不会重置任何这些参数的值。

您还可以在定义参数屏幕上切换单个过程的高级参数的显示。

默认情况下禁用此选项。

  • 自动获取新主机的资源信息:自动查询新主机以获取硬件资源信息,以预先填充许多配置选项和值。在这种情况下,建议值不是强制性的,但除非在安装程序中使用适当的编辑选项进行了明确更改,否则将使用建议值。

默认情况下启用此选项。

此处显示安装程序的“帮助”菜单:

图 21.17 NDB Cluster Auto-Installer 帮助菜单

内容在周围的 Literals 中描述。

“帮助”菜单提供了几个选项,如下列 table 所述:

  • 内容:显示内置的用户指南。这是在单独的浏览器窗口中打开的,因此可以与安装程序同时使用,而不会中断工作流程。

  • 当前页面:打开内置的用户指南,进入描述安装程序中当前显示页面的部分。

  • 关于:打开一个对话框,显示安装程序名称和提供该版本的 NDB Cluster 发行版的版本号。

自动安装程序还以工具提示的形式为大多数 Importing 窗口小部件提供了上下文相关的帮助。

此外,大多数 NDB 配置参数的名称都链接到在线文档中的描述。该文档显示在单独的浏览器窗口中。

下一节讨论启动自动安装程序。紧随其后的各节按照前面列出的 Sequences 更详细地描述了每个页面的目的和功能。

启动 NDB 群集自动安装程序

自动安装程序与 NDB Cluster 软件一起提供。仅包含自动安装程序的单独 RPM 和.deb软件包也可用于许多 Linux 发行版。 (请参阅第 21.2 节“ NDB 群集安装”。)

本节说明如何启动安装程序。您可以通过调用ndb_setup.py可执行文件来实现。

User and privileges

您应该以普通用户身份运行ndb_setup.py;不需要特殊特权。您不应mysql用户身份或使用系统root或 Management 员帐户运行该程序;这样做可能会导致安装失败。

在 NDB 群集安装目录的bin中找到ndb_setup.py;典型位置在 Linux 系统上可能是/usr/local/mysql/bin,在 Windows 系统上是C:\Program Files\MySQL\MySQL Server 5.7\bin。这取决于系统上 NDB Cluster 软件的安装位置和安装方法。

在 Windows 上,您还可以通过在 NDB 群集安装目录中运行 setup.bat 来启动安装程序。从命令行调用时,此批处理文件接受与ndb_setup.py相同的选项。

可以使用影响其操作的多个选项中的任何一个来启动ndb_setup.py,但是通常足以允许使用默认设置,在这种情况下,您可以通过以下两种方法之一来启动ndb_setup.py

  • 导航到终端中的 NDB 群集bin目录,然后从命令行调用它,而无需任何其他参数或选项,例如:
shell> ndb_setup.py
Running out of install dir: /usr/local/mysql/bin
Starting web server on port 8081
URL is https://localhost:8081/welcome.html
deathkey=627876
Press CTRL+C to stop web server.
The application should now be running in your browser.
(Alternatively you can navigate to https://localhost:8081/welcome.html to start it)

无论使用哪种操作平台,此方法均有效。

  • 在文件浏览器(例如 Windows 上的 Windows Explorer 或 Linux 上的 Konqueror,Dolphin 或 Nautilus)中导航到 NDB 群集bin目录,然后激活(通常通过双击)ndb_setup.py 文件图标。这适用于 Windows,也应适用于大多数常见的 Linux 桌面。

在 Windows 上,您也可以导航到 NDB Cluster 安装目录并激活 setup.bat 文件图标。

在这两种情况下,一旦调用ndb_setup.py,自动安装程序的Welcome screen都应在系统的默认 Web 浏览器中打开。如果没有,您应该能够在浏览器中手动打开页面http://localhost:8081/welcome.htmlhttps://localhost:8081/welcome.html

在某些情况下,您可能希望为安装程序使用非默认设置,例如为连接指定 HTTPS,或为要在其上运行的自动安装程序所包含的 Web 服务器使用其他端口,在这种情况下,您必须使用或调用ndb_setup.py更多启动选项,其值将覆盖必要的默认值。可以在 Windows 系统上使用相同的启动选项,并在 NDB Cluster 软件发行版中为此类平台提供 setup.bat 文件。可以使用命令行完成此操作,但是如果您希望或需要在使用这些选项中的一个或多个的同时从台式机或文件浏览器启动安装程序,则还可以创建包含正确调用的脚本或批处理文件,然后在文件浏览器中双击其文件图标以启动安装程序。 (在 Linux 系统上,您可能还需要首先使脚本文件可执行.)如果计划从远程主机使用自动安装程序,则应开始使用-S选项。有关 NDB 群集自动安装程序的此选项以及其他高级启动选项的信息,请参见第 21.4.27 节“ ndb_setup.py —为 NDB 群集启动基于浏览器的自动安装程序”

NDB 群集自动安装程序欢迎屏幕

调用ndb_setup.py时,默认浏览器中将显示“欢迎”屏幕。首次运行自动安装程序(或者由于其他原因而没有现有配置)时,将显示以下屏幕:

图 21.18 首次运行 NDB 群集自动安装程序欢迎屏幕

内容在周围的 Literals 中描述。

在这种情况下,列出的群集的唯一选择是配置新群集,并且“查看 Cfg”和“continue”按钮均处于非活动状态。

要创建新配置,请在提供的文本框中 Importing 并确认密码。完成此操作后,您可以单击 continue 以进入“定义集群”屏幕,您可以在其中为新集群分配名称。

如果您以前使用自动安装程序创建了一个或多个群集,则按名称列出它们。本示例显示了一个名为mycluster-1的现有集群:

图 21.19 使用先前创建的集群 mycluster-1 的 NDB 集群自动安装程序欢迎屏幕

内容在周围的 Literals 中描述。

要查看给定集群的配置并使用给定集群,请在列 table 中选择其名称旁边的单选按钮,然后 Importing 并确认用于创建该集群的密码。正确完成此操作后,可以单击“查看配置”以查看和编辑此群集的配置。

NDB 群集自动安装程序定义群集屏幕

Welcome screen之后会出现“定义集群”屏幕,用于设置集群的常规属性。 “定义集群”屏幕的布局如下所示:

图 21.20 NDB 群集自动安装程序定义群集屏幕

内容在周围的 Literals 中描述。

该屏幕和后续屏幕还包括“设置”和“帮助”菜单,本节后面将对此进行介绍。参见NDB 群集安装程序设置和帮助菜单

“定义群集”屏幕允许您为群集设置三种属性:群集属性,SSH 属性和安装属性。

此处列出了可以在此屏幕上设置的群集属性:

  • 集群名称:标识集群的名称;在此示例中,这是mycluster-1。名称是在前一个屏幕上设置的,此处不能更改。

  • 主机列 table:以逗号分隔的一个或多个应在其中运行群集进程的主机的列 table。默认情况下,这是127.0.0.1。如果将远程主机添加到列 table,则必须能够使用作为 SSH 属性提供的凭据连接到它们。

  • 应用程序类型:选择以下选项之一:

  • 测试简单:进行小型测试所需的资源最少。这是默认值。 不适用于生产环境

  • Web:最大化给定硬件的性能。

  • 实时:最大化性能,同时最大化对超时的敏感性,以最小化检测失败的集群进程所需的时间。

  • 写负载:为整个群集的预期写数量选择一个级别。您可以选择以下任一级别:

  • 低:预期的负载包括每秒少于 100 个写入事务。

  • 中:预期的负载包括每秒 100 到 1000 个写入事务;这是默认值。

  • 高:预期的负载包括每秒超过 1000 个写入事务。

下 table 描述了 SSH 属性:

  • 基于密钥的 SSH:选中此框以使用启用密钥的登录到远程主机。如果选中,则还必须提供关键用户和密码。否则,需要使用远程登录帐户的用户名和密码。

  • 用户:具有远程登录访问权限的用户名。

  • 密码:远程用户的密码。

  • 密钥用户:密钥有效的用户名,如果与 os 用户不同。

  • 密钥密码短语:密钥的密码短语(如果需要)。

  • 密钥文件:密钥文件的路径。默认值为~/.ssh/id_rsa

在此页面上设置的 SSH 属性适用于群集中的所有主机。通过在“定义主机”屏幕上编辑主机的属性,可以为给定主机覆盖它们。

也可以在此屏幕上设置两个安装属性:

  • 安装 MySQL 群集:此设置确定自动安装程序在群集主机上从中安装 NDB 群集软件的源(如果有)。可能的值及其影响在此处列出:

  • DOCKER:尝试在每个主机上从https://hub.docker.com/r/mysql/mysql-cluster/安装 MySQL Cluster Docker 映像

  • REPO:尝试从每个主机上的MySQL Repositories安装 NDB 群集软件

  • BOTH:尝试在每个主机上从存储库安装 Docker 映像或软件,以优先使用存储库

  • NONE:请勿在主机上安装 NDB Cluster 软件;这是默认值

  • 打开固件端口:选中此复选框,安装程序将尝试打开所有主机上的 NDB CLuster 进程所需的端口。

下图显示了“定义集群”页面,其中包含小型测试集群的设置,所有节点都在localhost上运行:

图 21.21“ NDB 群集自动安装程序定义群集”屏幕,其中包含测试群集的设置

内容在周围的 Literals 中描述。

进行所需的设置后,您可以将它们保存到配置文件中,然后单击“保存并下一步”按钮进入“定义主机”屏幕。

如果不保存就退出安装程序,则不会对配置文件进行任何更改。

NDB 群集自动安装程序定义主机屏幕

此处显示的“定义主机”屏幕提供了一种查看和指定每个集群主机的几个关键属性的方法:

图 21.22 NDB 群集定义主机屏幕,开始

内容在周围的 Literals 中描述。

显示的属性包括:

  • 主机:此主机的名称或 IP 地址

  • Res.info:如果安装程序能够从此主机检索请求的资源信息,则显示OK

  • 平台:os 或平台

  • 内存(MB):此主机上的 RAM 量

  • 核心数:此主机上可用的 CPU 核心数

  • MySQL Cluster 安装目录:此主机上 NDB Cluster 软件安装目录的路径;默认为/usr/local/bin

  • MySQL Cluster 数据目录:此主机上 NDB Cluster 进程用于数据的目录的路径;默认为/var/lib/mysql-cluster

  • DiskFree:可用磁盘空间(以字节为单位)

对于具有多个磁盘的主机,仅显示用于数据目录的磁盘上的可用空间。

该屏幕还为每个主机提供了扩展视图,其中包括以下属性:

  • FDQN:此主机的标准域名,安装程序用于与其连接,向其分发配置信息以及在其上启动和停止集群进程。

  • 内部 IP:用于在其他主机上运行的与此主机上运行的群集进程进行通信的 IP 地址。

  • os 详细信息:详细的 os 名称和版本信息。

  • 打开固件:如果选中此复选框,则安装程序将尝试打开群集进程所需的主机防火墙中的端口。

  • REPO URL:MySQL NDB 群集存储库的 URL

  • DOCKER URL:MySQL NDB CLuster Docker 映像的 URL;对于 NDB 8.0,这是mysql/mysql-cluster:8.0

  • 安装:如果启用此复选框,则自动安装程序将尝试在此主机上安装 NDB 群集软件。

扩展视图如下所示:

图 21.23 NDB 群集定义主机屏幕,扩展的主机信息视图

内容在周围的 Literals 中描述。

除“主机”,“ Res.info”和“ FQDN”列中的单元格外,显示中的所有单元格都是可编辑的。

请注意,从远程主机检索信息可能需要一些时间。不能检索其值的字段用省略号()table 示。您可以通过从列 table 中选择主机,然后单击“刷新选定的主机”按钮,重试从一台或多台主机中获取资源信息。

添加和删除主机

您可以通过单击“添加主机”按钮并在“添加新主机”对话框中指示的位置 Importing 所需的属性来添加一个或多个主机,如下所示:

图 21.24 NDB 群集添加主机对话框

内容在周围的 Literals 中描述。

该对话框包括以下字段:

  • 主机名:一个或多个主机名和/或 IP 地址的逗号分隔列 table。必须从运行自动安装程序的主机上访问这些文件。

  • 主机内部 IP(VPN):如果要将群集设置为在 VPN 或其他内部网络上运行,请 ImportingIP 地址或其他主机上的群集节点用于联系的地址。

  • 基于密钥的身份验证:如果选中,则启用基于密钥的身份验证。您可以在“用户”,“密码”和“密钥文件”字段中 Importing 任何其他所需的信息。

  • 普通登录:如果使用基于密码的登录访问该主机,请在“用户”和“密码”字段中 Importing 适当的信息。

  • 打开防火墙端口:选中此复选框,安装程序将尝试在此主机的防火墙中打开群集进程所需的任何端口。

  • 配置安装:选中此选项将允许自动安装尝试在此主机上设置 NDB Cluster 软件。

要保存新主机及其属性,请单击“添加”。如果要取消而不保存任何更改,请单击“取消”。

同样,您可以使用标有“删除选定的主机”的按钮删除一个或多个主机。 当您删除主机时,为该主机配置的所有进程也将被删除

Warning

立即删除选定的主机行为。没有确认对话框。如果错误删除了主机,则必须使用“添加主机”手动重新 Importing 其名称和属性。

如果更改了定义集群屏幕上的 SSH 用户凭据,则自动安装程序将尝试从缺少其信息的任何主机刷新资源信息。

您可以通过以下方法来编辑主机的平台名称,硬件资源信息,安装目录和数据目录:单击网格中的相应单元格,选择一个或多个主机,然后单击标记为“编辑选定的主机”的按钮。这将导致出现一个对话框,可以在其中编辑这些字段,如下所示:

图 21.25 NDB 群集自动安装程序编辑主机对话框

内容在周围的 Literals 中描述。

当选择多个主机时,任何编辑的值都将应用于所有选定的主机。

Importing 所有所需的主机信息后,可以使用“保存并下一步”按钮将信息保存到群集的配置文件中,然后 continue 进行定义流程屏幕,在其中可以在一个或多个主机上设置 NDB Cluster 进程。

NDB 群集自动安装程序定义进程屏幕

此处显示的“定义进程”屏幕提供了一种将 NDB 集群进程(节点)分配给集群主机的方法:

图 21.26 NDB 群集自动安装程序定义进程对话框

内容在周围的 Literals 中描述。示例过程树拓扑包括前面定义的“任何主机”和“localhost”。localhost 树包括以下过程:Management 模式 1,API 节点 1,API 节点 2,API 节点 3,SQL 节点 1,SQL 节点 2,多线程数据节点 1,和多线程数据节点 2.此面板还包括“添加过程”和“删除ete过程”按钮。

该屏幕包含一个进程树,该树显示集群主机和设置为在每个主机上运行的进程,以及一个面板,显示有关树中当前所选项目的信息。

首次访问给定集群的此屏幕时,将根据主机数量为您定义一组默认的进程。如果以后返回定义主机屏幕,则删除所有主机,然后添加新主机,这也会导致定义一组新的默认进程。

NDB 群集进程属于此列 table 中描述的类型:

  • Management 节点. 执行 Management 任务,例如停止单个数据节点,查询节点和群集状态以及进行备份。可执行文件:ndb_mgmd

  • 单线程数据节点. 存储数据并执行查询。可执行文件:ndbd

  • 多线程数据节点. 存储数据并使用并行执行的多个工作线程执行查询。可执行文件:ndbmtd

  • SQL 节点. MySQL 服务器,用于对NDB执行 SQL 查询。可执行文件:mysqld

  • API 节点. Client 端通过 NDB API 或其他低级 Client 端 API 而不是通过 SQL 访问NDB中的数据。有关更多信息,请参见MySQL NDB 群集 API 开发人员指南

有关流程(节点)类型的更多信息,请参见第 21.1.1 节“ NDB 集群核心概念”

为了简化标识,对于每个主机(例如SQL node 1SQL node 2等),按类型对树中显示的进程进行了 Sequences 编号。

必须将每个 Management 节点,数据节点或 SQL 进程分配给特定的主机,并且不允许在任何其他主机上运行。可以将 API 节点分配给单个主机,但这不是必需的。相反,您可以将其分配给特殊的“任意”主机条目,该树除其他主机之外还包含该主机条目,并且该条目充当允许在任何主机上运行的进程的占位符。 仅 API 进程可以使用此 Any 主机条目

添加进程. 要将新进程添加到给定的主机,请右键单击树中该主机的条目,然后在出现时选择“添加进程”弹出窗口,或在进程树中选择一个主机,然后按流程树下方的添加流程按钮。执行以下任一操作将打开添加过程对话框,如下所示:

图 21.27 NDB 群集自动安装程序添加过程对话框

大多数内容在周围的文本中描述。显示一个标题为“添加新流程”的窗口,其中有两个选项:“选择流程类型:”,显示一个选择框,其中选中了“ API 节点”,以及“Importing 流程名称:”,其中“ API 节点 4”Importing 为纯文本。操作按钮包括“取消”和“添加”。

在这里,您可以从本节前面介绍的可用过程类型中进行选择。如果需要,您还可以 Importing 一个任意的过程名称来代替建议值。

删除进程. 要删除进程,请在树中选择该进程,然后使用“删除进程”按钮。

当您在流程树中选择一个流程时,有关该流程的信息将显示在信息面板中,您可以在其中更改流程名称及其类型。您可以将多线程数据节点(ndbmtd)更改为单线程数据节点(ndbd),也可以相反。不允许其他过程类型更改。 如果要在其他任何流程类型之间进行更改,则必须先删除原始流程,然后再添加所需类型的新流程

NDB 群集自动安装程序定义参数屏幕

定义流程屏幕一样,该屏幕包括一个进程树; “定义参数”进程树是按进程或节点类型组织的,分为标记为 Management 层,数据层,SQL 层和 API 层的组。信息面板显示有关当前所选项目的信息。此处显示“定义属性”屏幕:

图 21.28 NDB 群集自动安装程序定义参数屏幕

内容在周围的 Literals 中描述。

如果选中显示高级配置复选框,则在信息窗格中将显示数据节点和 SQL 节点进程的高级选项。无论是否可见,都将设置并使用这些选项。您还可以通过选中“设置”下的“显示高级配置选项”来全局启用此行为(请参阅NDB 群集安装程序设置和帮助菜单)。

您可以通过从树中选择一个进程来编辑单个进程的属性,或者通过选择一个“层”文件夹之一来编辑集群中相同类型的所有进程的属性。为给定属性设置的每个进程值将覆盖该属性的每个组设置,否则该设置将应用于相关进程。这样的信息面板(用于 SQL 进程)的示例如下所示:

图 21.29 定义参数-流程属性

内容在周围的 Literals 中描述。

可以覆盖其值的属性在信息面板中显示,带有带有加号的按钮。此按钮激活属性的 Importing 小部件,使您可以更改其值。覆盖值后,此按钮将变为显示 X 的按钮。X 按钮将撤消对给定属性所做的任何更改,该属性将立即恢复为 sched 义的值。

所有配置属性都有由安装程序根据主机名,节点 ID,节点类型等因素计算的 sched 义值。在大多数情况下,这些值可以保留不变。如果您还不熟悉它,强烈建议您在更改任何属性值之前先阅读适用的文档。为了使查找此信息更加容易,将信息面板中显示的每个属性名称链接到在线 NDB Cluster 文档中的描述。

NDB 群集自动安装程序部署配置屏幕

该屏幕允许您执行以下任务:

  • 查看要应用的流程启动命令和配置文件

  • 通过在所有群集主机上创建任何必要的文件和目录来分发配置文件,即部署当前配置的群集

  • 启动和停止集群

此处显示“部署配置”屏幕:

图 21.30 NDB 群集自动安装程序部署配置屏幕

内容在周围的 Literals 中描述。

定义参数屏幕一样,此屏幕上具有按流程类型组织的流程树。树中每个进程的旁边是一个状态图标,指示该进程的当前状态:已连接(CONNECTED),正在启动(STARTING),正在运行(STARTED),正在停止(STOPPING)或已断开连接(NO_CONTACT)。如果该进程已连接或正在运行,则图标显示为绿色;否则,该图标显示为绿色。黄色,如果正在启动或停止;如果该进程已停止或 Management 服务器无法联系,则为红色。

该屏幕还包含两个信息面板,一个显示启动命令或启动选定进程所需的命令。 (对于某些进程,可能需要多个命令-例如,如果需要初始化.)另一面板显示给定进程的配置文件的内容(如果有)。

该屏幕还包含四个按钮,标记为并执行以下列 table 中描述的功能:

  • 安装群集:在此版本中不起作用;用于将来版本的实现。

  • 部署群集:验证配置是否有效。在群集主机上创建所需的任何目录,然后将配置文件分发到主机上。进度条显示部署进行的程度,如此处所示,部署完成后会弹出对话框,如下所示:

图 21.31 群集部署过程

内容在周围的 Literals 中描述。

  • 启动群集:与部署群集一样部署群集,然后以正确的 Sequences 启动所有群集进程。

开始这些过程可能需要一些时间。如果估计的完成时间太大,则安装程序会提供取消或 continue 启动过程的机会。进度条指示启动过程的当前状态,如下所示:

图 21.32 具有进度条的群集启动过程

内容在周围的 Literals 中描述。

进程树中显示的项目旁边的进程状态图标也会随着每个进程的状态而更新。

启动过程完成后,将显示一个确认对话框,如下所示:

图 21.33 集群启动,进程完成对话框

内容在周围的 Literals 中描述。

  • 停止群集:启动群集后,可以使用此操作停止它。与启动集群一样,集群关闭不是瞬时的,可能需要一些时间才能完成。进度条类似于群集启动过程中显示的进度条,显示了群集关闭过程的大致当前状态,以及与过程树相邻的过程状态图标也是如此。进度栏如下所示:

图 21.34 集群关闭过程,带有进度条

内容在周围的 Literals 中描述。

确认对话框指示关闭过程何时完成:

图 21.35 集群关闭,进程完成对话框

内容在周围的 Literals 中描述。

自动安装程序会生成一个config.ini文件,其中包含每个 Management 节点的 NDB 节点参数,以及一个my.cnf文件,其中包含针对集群中每个mysqld进程的适当选项。没有为数据节点或 API 节点创建配置文件。