在本节中,我们将讨论通过创建和编辑配置文件来手动配置已安装的 NDB 集群。
对于我们的四节点、四主机 NDB 集群(参见 集群节点和主机),我们需要编写四个配置文件,每个节点主机一个。
每个数据节点或 SQL 节点都需要一个
my.cnf
文件,该文件提供两条信息:一个 连接字符串,用于告诉节点在哪里找到管理节点,以及一行告诉该主机(托管数据节点的机器)上的 MySQL 服务器启用NDBCLUSTER
存储引擎。有关连接字符串的更多信息,请参见 第 25.4.3.3 节“NDB 集群连接字符串”。
管理节点需要一个
config.ini
文件,该文件告诉它要维护多少个片段副本、为每个数据节点上的数据和索引分配多少内存、在哪里找到数据节点、在每个数据节点上将数据保存到磁盘的路径,以及在哪里找到任何 SQL 节点。
配置数据节点和 SQL 节点。 数据节点所需的 my.cnf
文件相当简单。配置文件应位于 /etc
目录中,并且可以使用任何文本编辑器进行编辑。(如果文件不存在,则创建该文件。)例如
$> vi /etc/my.cnf
我们在这里展示了使用 vi 创建文件,但任何文本编辑器都应该可以正常工作。
对于我们示例设置中的每个数据节点和 SQL 节点,my.cnf
应如下所示
[mysqld]
# Options for mysqld process:
ndbcluster # run NDB storage engine
[mysql_cluster]
# Options for NDB Cluster processes:
ndb-connectstring=198.51.100.10 # location of management server
输入上述信息后,保存此文件并退出文本编辑器。对托管数据节点 “A”、数据节点 “B” 和 SQL 节点的机器执行此操作。
使用 ndbcluster
和 ndb-connectstring
参数在 my.cnf
文件的 [mysqld]
和 [mysql_cluster]
部分中启动 mysqld 进程后(如前所示),如果尚未实际启动集群,则无法执行任何 CREATE TABLE
或 ALTER TABLE
语句。否则,这些语句将失败并返回错误。这是设计使然。
配置管理节点。 配置管理节点的第一步是创建可以找到配置文件的目录,然后创建文件本身。例如(以 root
身份运行)
$> mkdir /var/lib/mysql-cluster
$> cd /var/lib/mysql-cluster
$> vi config.ini
对于我们的代表性设置,config.ini
文件应如下所示
[ndbd default]
# Options affecting ndbd processes on all data nodes:
NoOfReplicas=2 # Number of fragment replicas
DataMemory=98M # How much memory to allocate for data storage
[ndb_mgmd]
# Management process options:
HostName=198.51.100.10 # Hostname or IP address of management node
DataDir=/var/lib/mysql-cluster # Directory for management node log files
[ndbd]
# Options for data node "A":
# (one [ndbd] section per data node)
HostName=198.51.100.30 # Hostname or IP address
NodeId=2 # Node ID for this data node
DataDir=/usr/local/mysql/data # Directory for this data node's data files
[ndbd]
# Options for data node "B":
HostName=198.51.100.40 # Hostname or IP address
NodeId=3 # Node ID for this data node
DataDir=/usr/local/mysql/data # Directory for this data node's data files
[mysqld]
# SQL node options:
HostName=198.51.100.20 # Hostname or IP address
# (additional mysqld connections can be
# specified for this node for various
# purposes such as running ndb_restore)
可以从 https://dev.mysqlserver.cn/doc/index-other.html 下载 world
数据库。
在创建了所有配置文件并指定了这些最小选项后,您就可以继续启动集群并验证所有进程是否都在运行。我们将在 第 25.3.4 节“NDB 集群的初始启动” 中讨论如何执行此操作。
有关可用的 NDB 集群配置参数及其用途的更多详细信息,请参见 第 25.4.3 节“NDB 集群配置文件” 和 第 25.4 节“NDB 集群的配置”。有关与进行备份相关的 NDB 集群配置的信息,请参见 第 25.6.8.3 节“NDB 集群备份的配置”。
集群管理节点的默认端口为 1186;数据节点的默认端口为 2202。但是,集群可以从已空闲的端口中自动为数据节点分配端口。