- 25.4.3.1 NDB 集群配置:基本示例
- 25.4.3.2 NDB 集群的建议启动配置
- 25.4.3.3 NDB 集群连接字符串
- 25.4.3.4 在 NDB 集群中定义计算机
- 25.4.3.5 定义 NDB 集群管理服务器
- 25.4.3.6 定义 NDB 集群数据节点
- 25.4.3.7 在 NDB 集群中定义 SQL 和其他 API 节点
- 25.4.3.8 定义系统
- 25.4.3.9 用于 NDB 集群的 MySQL 服务器选项和变量
- 25.4.3.10 NDB 集群 TCP/IP 连接
- 25.4.3.11 使用直接连接的 NDB 集群 TCP/IP 连接
- 25.4.3.12 NDB 集群共享内存连接
- 25.4.3.13 数据节点内存管理
- 25.4.3.14 配置 NDB 集群发送缓冲区参数
配置 NDB 集群需要使用两个文件
my.cnf
:指定所有 NDB 集群可执行文件的选项。此文件(您应该熟悉之前使用 MySQL 的工作),必须可供集群中运行的每个可执行文件访问。config.ini
:此文件,有时称为全局配置文件,仅由 NDB 集群管理服务器读取,然后将其中包含的信息分发给参与集群的所有进程。config.ini
包含集群中涉及的每个节点的描述。这包括数据节点的配置参数和集群中所有节点之间连接的配置参数。有关此文件中可以出现的节以及每个节中可以放置哪些配置参数的快速参考,请参见config.ini
文件的节。
配置数据的缓存。 NDB
使用有状态配置。管理服务器不会在每次重启时都读取全局配置文件,而是在第一次启动时缓存配置,之后,仅当满足以下条件之一时才会读取全局配置文件
使用 --initial 选项启动管理服务器。 当使用
--initial
时,将重新读取全局配置文件,删除任何现有的缓存文件,并且管理服务器将创建新的配置缓存。使用 --reload 选项启动管理服务器。
--reload
选项使管理服务器将其缓存与全局配置文件进行比较。如果它们不同,则管理服务器会创建一个新的配置缓存;任何现有的配置缓存都将保留,但不会使用。如果管理服务器的缓存和全局配置文件包含相同的配置数据,则将使用现有的缓存,并且不会创建新的缓存。使用 --config-cache=FALSE 启动管理服务器。 这将禁用
--config-cache
(默认情况下启用),并且可用于强制管理服务器完全绕过配置缓存。在这种情况下,管理服务器会忽略可能存在的任何配置文件,始终从config.ini
文件中读取其配置数据。找不到配置缓存。 在这种情况下,管理服务器将读取全局配置文件并创建一个包含与文件中找到的相同配置数据的缓存。
配置缓存文件。 管理服务器默认情况下会在 MySQL 安装目录中名为mysql-cluster
的目录中创建配置缓存文件。(如果您在 Unix 系统上从源代码构建 NDB 集群,则默认位置为/usr/local/mysql-cluster
。)这可以在运行时通过使用--configdir
选项启动管理服务器来覆盖。配置缓存文件是根据模式ndb_
命名的二进制文件,其中node_id
_config.bin.seq_id
node_id
是管理服务器在集群中的节点 ID,seq_id
是缓存标识符。缓存文件使用seq_id
按创建顺序进行顺序编号。管理服务器使用由seq_id
确定的最新缓存文件。
可以通过删除后面的配置缓存文件,或通过重命名较早的缓存文件使其具有更高的seq_id
来回滚到先前的配置。但是,由于配置缓存文件是以二进制格式编写的,因此您不应尝试手动编辑其内容。
有关 NDB 集群管理服务器的--configdir
、--config-cache
、--initial
和--reload
选项的更多信息,请参见第 25.5.4 节,“ndb_mgmd — NDB 集群管理服务器守护程序”。
我们正在不断改进 NDB 集群配置并尝试简化此过程。尽管我们努力保持向后兼容性,但有时可能会引入不兼容的更改。在这种情况下,如果更改不向后兼容,我们会尝试提前通知 NDB 集群用户。如果您发现此类更改并且我们没有记录在案,请使用第 1.6 节,“如何报告错误或问题”中给出的说明在 MySQL 错误数据库中报告。