本节讨论如何执行 NDB Cluster 安装的 滚动重启,之所以这样称呼是因为它涉及依次停止和启动(或重启)每个节点,以便集群本身保持运行。这通常作为 滚动升级或 滚动降级的一部分完成,其中集群的高可用性是强制性的,并且不允许整个集群停机。在我们提到升级的地方,此处提供的信息通常也适用于降级。
滚动重启可能是可取的,原因有很多。这些将在接下来的几段中进行描述。
配置更改。 更改集群的配置,例如向集群添加 SQL 节点,或将配置参数设置为新值。
NDB Cluster 软件升级或降级。 将集群升级到更新版本的 NDB Cluster 软件(或将其降级到旧版本)。这通常称为“滚动升级”(或 “滚动降级”,当恢复到旧版本的 NDB Cluster 时)。
在节点主机上更改。 更改运行一个或多个 NDB Cluster 节点进程的硬件或操作系统。
系统重置(集群重置)。 重置集群,因为它已达到不希望的状态。在这种情况下,通常需要重新加载一个或多个数据节点的数据和元数据。这可以通过以下三种方式中的任何一种来完成:
使用选项启动每个数据节点进程(ndbd或可能的ndbmtd)
--initial,这会强制数据节点清除其文件系统并从其他数据节点重新加载所有 NDB Cluster 数据和元数据。在执行重新启动之前使用ndb_mgm客户端 命令 创建备份。升级后,使用ndb_restore
START BACKUP恢复一个或多个节点。有关更多信息,请参阅第 21.6.8 节,“NDB Cluster 的在线备份”和 第 21.5.24 节,“ndb_restore - 恢复 NDB Cluster 备份”。
资源回收。 INSERT释放先前由连续和
操作
分配给表的内存
DELETE,以供其他 NDB Cluster 表重用。
执行滚动重启的过程可以概括如下:
停止所有集群管理节点(ndb_mgmd 进程),重新配置它们,然后重新启动它们。(请参阅 使用多个管理服务器滚动重启。)
停止、重新配置,然后依次重启每个集群数据节点(ndbd进程)。
可以通过在上一步之后为ndb_mgm
RESTART客户端中的每个数据节点 发布来更新一些节点配置参数 。其他参数要求使用管理客户端命令完全停止数据节点 ,然后通过 适当地调用ndbd或ndbmtd可执行文件从系统 shell 重新启动 。(在大多数 Unix 系统上也可以使用 诸如 kill之类的 shell 命令来停止数据节点进程,但该命令是首选,而且通常更简单。)STOPSTOP笔记在 Windows 上,您还可以使用SC STOP和 SC START命令
NET STOP和NET START命令,或 Windows 服务管理器来停止和启动已安装为 Windows 服务的节点(请参阅 第 21.3.2.4 节,“将 NDB Cluster 进程安装为 Windows 服务” ).所需的重启类型在每个节点配置参数的文档中指明。请参阅 第 21.4.3 节,“NDB Cluster 配置文件”。
停止、重新配置,然后依次重新启动每个集群 SQL 节点(mysqld进程)。
NDB Cluster 支持某种程度上灵活的节点升级顺序。升级 NDB Cluster 时,您可以在升级管理节点、数据节点或两者之前升级 API 节点(包括 SQL 节点)。换句话说,您可以按任何顺序升级 API 和 SQL 节点。须遵守下列规定:
此功能仅用作在线升级的一部分。来自不同 NDB Cluster 版本的节点二进制文件的混合既不打算也不支持在生产环境中连续、长期使用。
在升级任何不同类型的节点之前,您必须升级所有相同类型的节点(管理、数据或 API 节点)。无论节点升级的顺序如何,这都是正确的。
在升级任何数据节点之前,您必须升级所有管理节点。无论您升级集群的 API 和 SQL 节点的顺序如何,这都是正确的。
在升级所有管理节点和数据节点之前,不得使用 特定于“新”版本的功能。
这也适用于任何可能适用的 MySQL 服务器版本更改,以及 NDB 引擎版本更改,因此在计划升级时不要忘记考虑这一点。(一般来说,这对于 NDB Cluster 的在线升级是正确的。)
任何 API 节点都不可能在节点重启期间执行模式操作(例如数据定义语句)。部分由于此限制,在线升级或降级期间也不支持模式操作。此外,升级或降级正在进行时无法执行本机备份。
使用多个管理服务器滚动重启。 当执行具有多个管理节点的 NDB Cluster 的滚动重启时,您应该记住 ndb_mgmd检查是否有任何其他管理节点正在运行,如果是,则尝试使用该节点的配置数据。为了防止这种情况发生,并强制ndb_mgmd重新读取其配置文件,请执行以下步骤:
当执行滚动重启以更新集群的配置时,您可以使用该
表的config_generation列
ndbinfo.nodes来跟踪哪些数据节点已使用新配置成功重启。请参阅
第 21.6.15.28 节,“ndbinfo 节点表”。