21.3.3 NDB 群集配置文件

配置 NDB 群集需要使用两个文件:

  • my.cnf:指定所有 NDB 群集可执行文件的选项。您必须使用集群中运行的每个可执行文件都可以访问该文件,在以前的 MySQL 工作中您应该熟悉该文件。

  • config.ini:NDB 群集 Management 服务器仅读取此文件(有时称为全局配置文件),然后将其包含的信息分发给参与群集的所有进程。 config.ini包含集群中涉及的每个节点的描述。这包括数据节点的配置参数和群集中所有节点之间的连接的配置参数。有关此文件中可能出现的各节的快速参考,以及各节中可能放置的配置参数种类,请参阅config.ini 文件的各个部分

缓存配置数据. NDB使用状态配置。Management 服务器不是在每次重新启动 Management 服务器时都读取全局配置文件,而是在第一次启动配置时缓存配置,此后,仅当满足以下条件之一为真时,才读取全局配置文件:

  • 使用--initial 选项启动 Management 服务器. 使用--initial时,将重新读取全局配置文件,删除所有现有的缓存文件,并且 Management 服务器将创建新的配置缓存。

  • Management 服务器使用--reload 选项启动. --reload选项使 Management 服务器将其缓存与全局配置文件进行比较。如果它们不同,则 Management 服务器将创建一个新的配置高速缓存;任何现有的配置缓存都会保留,但不会使用。如果 Management 服务器的缓存和全局配置文件包含相同的配置数据,则使用现有的缓存,并且不会创建新的缓存。

  • Management 服务器使用--config-cache = FALSE 启动. 这将禁用--config-cache(默认情况下启用),并可用于强制 Management 服务器完全绕过配置缓存。在这种情况下,Management 服务器将忽略可能存在的任何配置文件,而始终从config.ini文件读取其配置数据。

  • 未找到配置高速缓存. 在这种情况下,Management 服务器将读取全局配置文件,并创建一个包含与该文件中相同的配置数据的高速缓存。

配置缓存文件. 默认情况下,Management 服务器在 MySQL 安装目录中名为mysql-cluster的目录中创建配置缓存文件。 (如果在 Unix 系统上从源代码构建 NDB 群集,则默认位置是/usr/local/mysql-cluster.)可以通过在运行时使用--configdir选项启动 Management 服务器来覆盖此位置。配置缓存文件是根据模式ndb_node_id_config.bin.seq_id命名的二进制文件,其中* node_id 是集群中 Management 服务器的节点 ID,而 seq_id 是缓存标识。高速缓存文件使用 seq_id Sequences 编号,Sequences 为创建 Sequences。Management 服务器使用 seq_id *确定的最新缓存文件。

Note

可以通过删除更高版本的配置缓存文件,或者通过重命名更早的缓存文件以使其具有较高的* seq_id *来回滚到先前的配置。但是,由于配置缓存文件是以二进制格式编写的,因此您不应尝试手动编辑其内容。

有关 NDB 群集 Management 服务器的--configdir--config-cache--initial--reload选项的更多信息,请参见第 21.4.4 节“ ndb_mgmd-NDB 群集 Management 服务器守护程序”

我们正在不断改进群集配置,并尝试简化此过程。尽管我们努力保持向后兼容性,但有时可能会引入不兼容的更改。在这种情况下,我们将尝试让群集用户提前知道更改是否向后兼容。如果您发现了这样的更改,但我们没有对此进行记录,请按照第 1.7 节“如何报告错误或问题”中的说明在 MySQL bug 数据库中进行报告。