25.4.3 NDB Cluster 配置文件
- 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启动管理服务器。 这 disable
--config-cache
(默认启用),可以强制管理服务器 bypass 配置缓存 altogether。在这种情况下,管理服务器忽略可能存在的配置文件,总是从config.ini
文件中读取其配置数据。 -
找不到任何配置缓存。 在这种情况下,管理服务器读取全局配置文件,并创建一个包含与文件中相同配置数据的缓存。
配置缓存文件。 管理服务器默认将配置缓存文件创建在名为mysql-cluster
的目录中,该目录位于MySQL安装目录下。 (如果您在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 bugs 数据库中报告该问题。