25.3.3 NDB 集群的初始配置
本节讨论了安装后的 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.mysql.com/doc/index-other.html下载。
在所有配置文件创建完成并且最小选项指定后,您就可以开始启动集群并验证所有进程正在运行。我们在第25.3.4节,“NDB 集群的初始启动”中讨论了如何进行这个步骤。
关于可用的 NDB 集群配置参数和它们的用途,详见第25.4.3节,“NDB 集群配置文件”、第25.4节,“NDB 集群配置”和第25.6.8.3节,“NDB 集群备份配置”。关于 NDB 集群备份的配置,详见第25.6.8.3节,“NDB 集群备份配置”。
集群管理节点的默认端口是 1186;数据节点的默认端口是 2202。然而,集群可以自动分配已经空闲的端口给数据节点。