21.4.3 NDB Cluster 配置文件

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

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

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

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

  • 管理服务器使用 --initial 选项启动。  使用时--initial,重新读取全局配置文件,删除任何现有的缓存文件,管理服务器创建新的配置缓存。

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

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

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

配置缓存文件。 mysql-cluster默认情况下,管理服务器在 MySQL 安装目录中 命名的目录中创建配置缓存文件。(如果您在 Unix 系统上从源代码构建 NDB Cluster,则默认位置为 /usr/local/mysql-cluster。)这可以在运行时通过使用该 --configdir选项启动管理服务器来覆盖。配置缓存文件是根据模式命名的二进制文件 ,其中是集群中管理服务器的节点 ID, 是缓存标识符。缓存文件使用顺序编号 ndb_node_id_config.bin.seq_idnode_idseq_idseq_id, 按照它们的创建顺序。管理服务器使用由seq_id.

笔记

可以通过删除后面的配置缓存文件或重命名较早的缓存文件以使其具有更高的 seq_id. 但是,由于配置缓存文件是以二进制格式编写的,因此您不应尝试手动编辑它们的内容。

有关 NDB Cluster 管理服务器的 、 、 和选项的更多信息 --configdir--config-cache--initial参阅 --reload21.5.4 节,“ndb_mgmd — NDB Cluster 管理服务器守护程序”

我们不断改进集群配置,并试图简化这个过程。尽管我们努力保持向后兼容性,但有时可能会引入不兼容的更改。在这种情况下,如果更改不向后兼容,我们会尝试让 NDB Cluster 用户提前知道。如果您发现这样的更改而我们没有记录它,请使用第 1.6 节“如何报告错误或问题”中给出的说明在 MySQL 错误数据库中报告它。