数据节点
数据节点维护模式
登录后可跨设备保存划线和私人笔记登录
维护模式(Maintenance Mode)是 Apache Ozone 中的一项功能,允许你将某个 Datanode 暂时下线以进行维护操作(例如硬件升级、软件更新),而不会触发即时的数据复制。与旨在永久地将 Datanode 及其数据从集群中移除的下线(decommissioning)不同,维护模式是为临时停机而设计的。
处于维护模式期间,Datanode 不会接收新的写入,但如果容器状态健康且在线,仍然可以提供读取服务。该 Datanode 上的现有数据将保持原位,只有当它在维护模式中停留超过可配置的超时时间后,才会触发其数据的复制。这样可以在计划内停机时避免不必要的数据移动,从而减少网络开销和集群负载。
Datanode 在维护期间会经历以下运行状态:
- IN_SERVICE:Datanode 完全正常运行,参与数据的写入和读取。
- ENTERING_MAINTENANCE:Datanode 正在切换到维护模式,将避免向其写入新数据。
- IN_MAINTENANCE:Datanode 处于维护模式,不会向其写入数据。如果该 Datanode 在此状态停留的时间超过配置的维护窗口,其数据将开始复制到其他 Datanode,以确保数据的持久性。
命令行用法
要将 Datanode 置于维护模式,请使用 ozone admin datanode maintenance 命令。你可以为维护期指定一个持续时间;如果未指定,则会使用默认的持续时间(该默认值可配置)。
要查看 Datanode 的当前状态(包括其运行状态),可以执行以下命令:
ozone admin datanode list要为一个或多个 Datanode 启动维护模式:
ozone admin datanode maintenance [-hV] [-id=<scmServiceId>] [--scm=<scm>] [--end=<hours>] [--force] [<hosts>...]<hosts>:以空格分隔的主机名或 IP 地址列表,用于将这些 Datanode 置于维护模式。--end=<hours>:可选。在指定的小时数后自动结束维护。默认情况下,必须手动结束维护。--force:可选。强制尝试将 Datanode 置于维护模式。
要将 Datanode 退出维护模式并使其恢复为 IN_SERVICE 状态,可以使用 recommission 命令:
ozone admin datanode recommission [-hV] [-id=<scmServiceId>] [--scm=<scm>] [<hosts>...]配置属性
以下属性通常在 ozone-site.xml 中设置,与维护模式相关:
| 属性 | 默认值 | 描述 |
|---|---|---|
hdds.scm.replication.maintenance.replica.minimum | 2 | 节点进入维护模式所必须保持可用的容器副本最小数量。如果将节点置于维护模式会使某个容器的可用副本数低于此级别,则该节点将保持在 ENTERING_MAINTENANCE 状态,直到创建了新的副本。 |
hdds.scm.replication.maintenance.remaining.redundancy | 1 | 节点进入维护模式所必须保持可用的组内冗余容器数量。如果将节点置于维护模式会使冗余度低于此值,则该节点将保持在 ENTERING_MAINTENANCE 状态,直到创建了新的副本。对于 Ratis 容器,默认值 1 确保至少有两个副本在线,即还可以再丢失 1 个副本而不会导致数据不可用。对于 EC 容器,则至少有 dataNum + 1 个副本在线,即还可以再丢失 1 个副本而不会导致数据不可用。目前仅 EC 容器使用此设置,Ratis 容器使用 hdds.scm.replication.maintenance.replica.minimum。对于 EC,如果节点处于维护模式,那么当部分数据副本离线时,很可能需要执行重建读取。这对客户端是透明的,但会影响读取性能。 |
指标
以下 SCM 指标与所有被跟踪节点的数据节点退役和维护相关。
DecommissioningMaintenanceNodesTotal:该指标报告当前处于退役或维护模式的数据节点总数。RecommissionNodesTotal:该指标报告当前正在重新投入服务(即从退役或维护模式返回IN_SERVICE状态)的数据节点总数。PipelinesWaitingToCloseTotal:该指标报告被跟踪节点中存在等待关闭管道的数据节点总数。ContainersUnderReplicatedTotal:该指标报告被跟踪节点中副本数不足的容器总数。ContainersUnClosedTotal:该指标报告被跟踪节点中未完全关闭的容器总数。ContainersSufficientlyReplicatedTotal:该指标报告被跟踪节点中副本数充足的容器总数。
以下 SCM 指标按节点统计数据节点的退役和维护情况。
UnderReplicatedDN:特定主机上副本数不足的容器数量PipelinesWaitingToCloseDN:特定主机上等待关闭的管道数量SufficientlyReplicatedDN:特定主机上副本数充足的容器数量UnclosedContainersDN:特定主机上未完全关闭的容器数量StartTimeDN:特定主机开始退役的时间戳
评论
登录后参与评论
正在加载评论…
KnowForge