add process {--processhosts=|-R }process_host_list
[--set=attribute_assignment_list] cluster_name
process_host_list:
process_name[:node_id]@host[,process_name@host[,...]]
process_name:
{ndb_mgmd|ndbd|ndbmtd|mysqld|ndbapi}
attribute_assignment_list:
attribute_assignment[,attribute_assignment][,...]
attribute_assignment:
attribute_name:process_name[=value]
此命令向现有集群添加一个或多个进程,这些进程使用
process_host_list
with
--processhosts
选项指定,其格式与命令使用的格式相同
create cluster
。列表中引用的任何主机都必须是集群所属站点的成员。此外,所有主机都必须是可解析的。
此命令添加的任何新进程都必须使用命令显式启动。
start
process
--added
例如,以下命令在主机上
add process
添加两个mysqldtonfisk
进程并添加flundra
到名为 的集群mycluster
:
mcm> add process --processhosts=mysqld@tonfisk,mysqld@flundra mycluster;
+------------------------------+
| Command result |
+------------------------------+
| Processes added successfully |
+------------------------------+
1 row in set (2 min 10.39 sec)
您还可以通过在 .name之后添加“ ”:
,
手动为要添加到集群的新进程分配节点 ID
node_ID.
process_name
。对于 MySQL Cluster Manager 1.3.3 及更早版本,尝试为ndb_mgmd、mysqld手动分配小于 49 的节点 ID或ndbapi
失败并报错;然而,自 MySQL Cluster Manager 1.3.4 以来,该限制已被解除。尽管如此,仍然建议您遵循为数据节点保留节点 ID 1 到 48 的最佳实践。以下命令分别
在主机和
上添加节点 ID 为 10 和 11 的两个ndbd进程到tonfisk
flundra
mycluster
:
mcm> add process --processhosts=ndbd:10@tonfisk,ndbd:11@flundra mycluster;
+------------------------------+
| Command result |
+------------------------------+
| Processes added successfully |
+------------------------------+
1 row in set (2 min 13.40 sec)
添加空闲进程
使用该add process
命令,您可以添加非托管mysqld进程或
应用程序的ndbapi
插槽,ndbapi
例如ndb_restore。要添加非托管mysqld进程,请在主机名前加上通配符 *(星号字符):
mcm> add process --processhosts=mysqld@*tonfisk,mysqld@*flundra mycluster;
+------------------------------+
| Command result |
+------------------------------+
| Processes added successfully |
+------------------------------+
1 row in set (2 min 3.14 sec)
要允许非托管mysqld节点从任何主机连接,请使用通配符*
(星号字符)代替主机名或 IP 地址:
mcm> add process --processhosts=mysqld@*,mysqld@* mycluster;
+------------------------------+
| Command result |
+------------------------------+
| Processes added successfully |
+------------------------------+
1 row in set (2 min 3.14 sec)
这同样适用于应用程序的ndbapi
插槽,
ndbapi
例如
ndb_restore:在主机名前加上通配符以限制与特定主机的连接,或者仅使用通配符而不使用主机名,以允许
ndbapi
来自任何主机的应用程序:
mcm> add process --processhosts=ndbapi@*tonfisk,ndbapi@* mycluster;
+------------------------------+
| Command result |
+------------------------------+
| Processes added successfully |
+------------------------------+
1 row in set (2 min 8.13 sec)
由于“空闲”进程不受 MySQL 集群管理器管理,因此
在成功添加到集群后无需运行该命令。
start
process
--added
用于add process
简化create
cluster
命令
集群首次启动前添加的进程随集群一起启动。这使得可以使用此命令来分解原本很长的
create cluster
命令。考虑以下创建并启动名为的集群的命令集mycluster
:
create cluster --processhosts=ndb_mgmd@host1,ndbd@host1,ndbd@host2, \
mysqld@host3,mysqld@host4 mycluster;
start cluster mycluster;
长create cluster
命令可以分为自身的较短(且更易于管理)版本,以及几个add process
命令。这组命令执行与前一组相同的任务,创建mycluster
与之前完全相同的进程和主机,然后启动它:
create cluster --processhosts=ndb_mgmd@host1 mycluster;
add process --processhosts=ndbd@host1,ndbd@host2 mycluster;
add process --processhosts=mysqld@host3,mysqld@host4 mycluster;
start cluster mycluster;
因为在使用显示的命令将ndbd和mysqld
进程添加到它mycluster
之前从未启动过,所以在这种情况下没有必要将
选项与
命令一起使用;所有 5 个进程都已启动。
add
process
--added
start cluster
添加到使用导入发生之前
创建的集群的进程将
添加状态,这意味着它无法使用或在导入发生之前启动或停止。
create cluster
--import
import
start
process
stop
process
添加时配置新进程
新添加的进程从父集群上对其进程类型有效的配置属性设置继承其配置属性设置,或者如果没有应用则采用该进程类型的默认设置。集群中已有的属性设置必须有进程级别的作用域,才能被后面添加的新进程继承;在添加任何新流程实例之前为现有流程实例设置的实例级设置不适用于任何添加的流程。(有关 属性设置范围的更多信息, 请参阅配置属性。)
添加进程时可以覆盖继承的属性设置;为此,请使用add process
命令的--set
选项。该选项将一个属性赋值列表作为其参数,其格式类似于与get
和
set
命令一起使用的格式。假设当前以该
属性
命名的集群中的ndbd进程级设置是,但您希望添加两个新的ndbd进程来
代替。您可以使用以下命令执行此操作:
mycluster
DataDir
/home/users/ndb/cluster-data
/tmp/cluster/data
mcm> add process --set=ndbd:DataDir=/tmp/cluster/data
> --processhosts=mysqld@tonfisk,mysqld@flundra
> mycluster;
与您使用命令的方式不同
,需要紧跟在
选项
后面的set
等号 ( )。=
--set
当以这种方式设置包含在 Windows 上运行的进程的路径的属性时,您必须将使用的任何反斜杠 ( \
) 替换为正斜杠 ( /
),就像使用
set
命令一样。有关详细信息,请参阅
在 Windows 上设置包含路径的属性。
使用添加进程后add
process
,您还可以使用该
set
命令修改其配置属性设置(或指定其他设置),就像使用 MySQL Cluster Manager 管理的任何其他集群进程一样。
当启用 IPv6 的 Windows 系统用作 MySQL Cluster Manager 下的 MySQL Cluster 主机时,您必须使用 IPv4 地址引用这些主机。否则,MySQL Cluster Manager 无法连接到这些主机上的代理进程。请参阅 第 5.1 节,“MySQL 集群管理器使用和设计限制”。