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

NDB 群集自动安装程序由几个页面组成,每个页面对应于用于配置和部署 NDB 群集的过程中的一个步骤,并在此处列出:

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

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

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

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

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

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

以下各节按刚刚列出的 Sequences 更详细地描述了每个页面的目的和功能。

启动 NDB 群集自动安装程序

自动安装程序与 NDB Cluster 软件一起提供。 (请参阅第 21.2 节“ NDB 群集安装”。)本节说明如何启动安装程序。您可以通过调用ndb_setup.py可执行文件来完成。

Important

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

在 NDB 群集安装目录的bin中找到ndb_setup.py;一个典型的位置在 Linux 系统上可能是/usr/local/mysql/bin,在 Windows 系统上是C:\Program Files\MySQL\MySQL Server 5.6\bin,但这会根据系统上 NDB Cluster 软件的安装位置而有所不同。

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

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

  • 导航到终端中的 NDB 群集bin目录,然后从命令行调用它,而无需任何其他参数或选项,例如:
shell> ndb_setup

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

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

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

在这两种情况下,一旦调用ndb_setup.py,自动安装程序的Welcome screen都应在系统的默认 Web 浏览器中打开。

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

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

调用ndb_setup.py时,默认浏览器中将显示“欢迎使用”屏幕,如下所示:

图 21.5 NDB 群集自动安装程序欢迎屏幕(特写)

内容在周围的 Literals 中描述。

该屏幕提供了以下两个用于 Importing 安装程序的选择,必须选择其中之一才能 continue:

  • 创建新的 NDB 群集:使用要设置和部署的全新群集启动自动安装程序。

  • continue 先前的群集配置:在上一会话结束的同一点启动自动安装程序,并保留所有先前的设置。

第二个选项要求浏览器能够从上一个会话访问其 cookie,因为它们提供了存储会话期间生成的配置和其他信息的机制。换句话说,要 continue 使用自动安装程序进行上一个会话,必须使用与上一个会话相同的 Web 浏览器在同一主机上运行。

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

“定义集群”屏幕是在Welcome screen中所做的选择之后出现的第一个屏幕,用于设置集群的常规属性。 “定义集群”屏幕的布局如下所示:

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

内容在周围的 Literals 中描述。

“定义集群”屏幕允许您设置集群的一些常规属性,如下 table 所示:

  • 群集名称:标识群集的名称。默认值为MyCluster

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

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

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

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

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

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

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

  • 中:预期的负载包括每秒 100 到 1000 个写入事务。

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

  • SSH 凭证:选择基于密钥的 SSH 或 Importing 用户和密码凭证。要连接到“主机”列 table 中指定的任何远程主机,需要 SSH 密钥或带密码的用户名。默认情况下,选择基于密钥的 SSH,并且“用户”和“密码”字段为空白。

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

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

图 21.7 NDB 群集定义主机屏幕

内容在周围的 Literals 中描述。

当前 Importing 的主机与各种信息一起显示在网格中。您可以通过单击“添加主机”按钮并 Importing 一个或多个逗号分隔的主机名,IP 地址或两者的列 table 来添加主机(如在定义集群屏幕上编辑主机列 table 时)。

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

如果在“设置”菜单中选中了“自动获取新主机的资源信息”,则自动安装程序将尝试检索平台名称,内存量和 CPU 内核数,并自动填写这些信息。其状态显示在“资源信息”列中。从远程主机获取信息不是立即的,可能需要一些时间,尤其是从运行 Windows 的远程主机获取信息时。

如果更改了定义集群屏幕上的 SSH 用户凭据,该工具将尝试从缺少其信息的任何主机刷新硬件信息。但是,如果给定的字段已经被编辑,则用户提供的信息不会被从该主机获取的任何值覆盖。

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

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

内容在周围的 Literals 中描述。

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

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

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

图 21.9 NDB 群集自动安装程序定义过程对话框

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

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

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

NDB 群集进程具有以下类型:

  • 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.10 NDB 群集自动安装程序添加过程对话框

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

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

删除进程. 要删除进程,请在树中右键单击一个进程,然后从出现的弹出菜单中选择删除进程,或选择一个进程,然后使用进程树下方的删除进程按钮。

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

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

该屏幕的布局类似于定义流程屏幕,包括进程树。与该屏幕的树不同,“定义属性”过程树是按过程或节点类型组织的,为此目的,单线程和多线程数据节点被认为具有相同的类型,分组为“Management 层”,“数据层”,“ SQL 层和 API 层。信息面板显示有关当前所选项目的信息。此处显示“定义属性”屏幕:

图 21.11 NDB 群集自动安装程序定义属性屏幕

内容在周围的 Literals 中描述。

如果选中显示高级配置复选框,则使高级选项在信息窗格中可见。无论是否可见,都将设置并使用这些选项。

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

图 21.12 使用 SQL 进程属性定义属性详细信息

大多数内容在周围的文本中描述。选择了 SQL 节点 1,并显示“ NodeId”,“ HostName”,“ DataDir”,“ Port”和“ Socket”的属性字段。 “ DataDir”,“ Port”和“ Socket”行在右侧包括一个绿色加号按钮,指示可以对其进行编辑。

对于信息面板中显示的某些属性,将显示带有加号的按钮,这意味着可以覆盖属性的值。此按钮激活属性的 Importing 小部件,使您可以更改其值。覆盖值之后,此按钮将变为显示 X 的按钮,如下所示:

图 21.13 定义属性详细信息,覆盖属性默认值

大多数内容在周围的文本中描述。就像上一张图像一样,但是单击了绿色加号按钮,现在可以编辑其条目。绿色加号已替换为红色 X。

单击属性旁边的 X 按钮会撤消对该属性所做的任何更改;它立即恢复为 sched 义的值。

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

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

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

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

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

  • 启动和停止集群

此处显示“部署集群”屏幕:

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

内容在周围的 Literals 中描述。

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

该屏幕还包含两个信息面板,一个显示启动命令或启动选定进程所需的命令。 (对于某些进程,可能需要多个命令-例如,如果需要初始化.)另一面板显示给定进程的配置文件的内容(如果有);当前,Management 节点进程只是具有配置文件的进程类型。其他进程类型在启动进程时使用命令行参数进行配置,或者通过根据需要实时从 Management 节点获取配置信息来进行配置。

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

  • 部署群集:验证配置是否有效。在群集主机上创建所需的任何目录,然后将配置文件分发到主机上。进度条显示部署已进行的程度。

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

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

图 21.15 进度条以及节点启动过程的状态

进度条显示节点启动过程的状态。在操作的“启动集群过程”阶段,小窗口标题为“启动集群”,进度条为 40%。

前面提到的与过程树相邻的过程状态图标也会随着每个过程的状态而更新。

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

自动安装程序将生成my.cnf文件,其中包含群集中每个mysqld进程的适当选项。