探索 Node Manager 的角色
在这一步中,你将了解 Node Manager 在 Hadoop YARN 架构中的角色。
Node Manager 是 Hadoop YARN(Yet Another Resource Negotiator)框架中的一个关键组件。它负责管理 Hadoop 集群中各个节点的资源。集群中的每个节点都运行一个 Node Manager 实例,它与 Resource Manager 通信以接收并执行任务。
以下是 Node Manager 的工作原理:
- 节点注册:当 Node Manager 启动时,它会向 Resource Manager 注册自己,并提供其节点上可用资源的信息,例如 CPU、内存和磁盘空间。
- 容器管理:Node Manager 负责创建和管理容器(containers),容器是任务的隔离执行环境。每个容器都有由 Resource Manager 定义的特定资源分配。
- 任务执行:当 Resource Manager 将任务分配给某个节点时,Node Manager 会创建一个容器并在其中启动任务。Node Manager 会监控任务的执行情况,并将其状态报告给 Resource Manager。
- 资源监控:Node Manager 持续监控每个容器和节点的资源使用情况,确保任务不会消耗超过分配的资源。
- 健康监控:Node Manager 还会监控节点本身的健康状况,检查是否存在磁盘故障或网络连接问题。如果节点变得不健康,Node Manager 可以向 Resource Manager 报告,Resource Manager 可以采取适当的措施,例如重新启动或重新调度任务。
为了探索 Node Manager 的角色,我们首先切换到 hadoop
用户:
su - hadoop
接下来,我们可以通过运行以下命令来检查 Node Manager 的状态:
yarn node -status <Node-Id>
提示:你可以通过 yarn node -list
命令找到 'Node-Id'。
该命令将显示正在运行的 Node Manager 的信息,包括其地址、节点上的可用资源以及当前正在运行的容器。
hadoop:~/ $ yarn node -status iZj6c4hvgdd6j6qljtbxoaZ:39885 [21:53:30]
2024-03-23 21:54:08,741 INFO client.DefaultNoHARMFailoverProxyProvider: Connecting to ResourceManager at /0.0.0.0:8032
2024-03-23 21:54:09,119 INFO conf.Configuration: resource-types.xml not found
2024-03-23 21:54:09,128 INFO resource.ResourceUtils: Unable to find 'resource-types.xml'.
Node Report :
Node-Id : iZj6c4hvgdd6j6qljtbxoaZ:39885
Rack : /default-rack
Node-State : RUNNING
Node-Http-Address : iZj6c4hvgdd6j6qljtbxoaZ:8042
Last-Health-Update : Sat 23/Mar/24 09:52:56:762CST
...