remove process [--removedirs] process_id_list cluster_name
process_id_list:
process_id[, process_id[, ...]]
此命令
process_id_list
从名为 的集群中永久删除 中的进程cluster_name
。它提供了一种离线缩减集群的方法。
如果--removedirs
使用该选项,将删除指定进程的所有数据。
使用此命令时适用以下限制:
集群必须处于
created
或的状态stopped
。要删除的进程必须处于
stopped
、added
或 的状态import
。该命令无法从
created
状态中的集群中删除所有进程;至少要留下一个进程。该命令不能从
stopped
状态中的集群中删除所有相同类型的进程;集群中必须为每种类型的节点(管理、数据和 API)至少保留一个进程。该命令无法删除处于
stopped
状态的数据节点,如果它已经是节点组的成员(即,如果它曾经启动过并且功能齐全)。
您可以使用
show status
--process
orlist
processes
命令获取给定集群中所有进程的进程 ID:
mcm> show status --process mycluster;
+--------+----------+---------+--------+-----------+-----------+
| NodeId | Process | Host | Status | Nodegroup | Package |
+--------+----------+---------+--------+-----------+-----------+
| 49 | ndb_mgmd | flundra | added | | mypackage |
| 1 | ndbmtd | flundra | added | n/a | mypackage |
| 2 | ndbmtd | flundra | added | n/a | mypackage |
| 50 | mysqld | flundra | added | | mypackage |
| 51 | mysqld | flundra | added | | mypackage |
| 52 | ndbapi | * | added | | |
| 53 | ndbapi | * | added | | |
+--------+----------+---------+--------+-----------+-----------+
7 rows in set (0.03 sec)
进程 ID 与上述或某些其他
mcm客户端命令的输出或
ndb_mgm -e "show"命令的输出中显示的进程的节点 ID 相同(请参阅
ndb_mgm — NDB Cluster Management Client) . 在上面的例子中,50
可以mycluster
通过以下命令删除进程ID为 的SQL节点:
mcm> remove process 50 mycluster;
+------------------------------+
| Command result |
+------------------------------+
| Process removed successfully |
+------------------------------+
1 row in set (0.48 sec)
在这种情况下,由于集群从未启动过,我们也可以删除两个数据节点:
mcm> remove process 1,2 mycluster;
+------------------------------+
| Command result |
+------------------------------+
| Process removed successfully |
+------------------------------+
1 row in set (0.40 sec)