本周完成了hadoop中hdfs的最后操作,对于yarn也是学习完毕。
YARN(Yet Another Resource Negotiator,又一个资源调度器)是Apache Hadoop生态系统的一部分,用于管理和调度大数据处理作业的资源。下面是对YARN核心架构的基本解释:
YARN的核心架构由两个主要组件组成:ResourceManager(资源管理器)和NodeManager(节点管理器)。
1.ResourceManager(资源管理器):
ResourceManager是YARN集群的中心组件,负责管理整个集群的资源和作业调度。其核心功能包括:
2.资源管理:ResourceManager负责跟踪集群上的资源分配和使用情况,并维护资源池。它协调节点管理器之间的资源分配,使得作业可以获得所需的计算资源。
3.作业调度:ResourceManager使用调度器(Scheduler)来决定如何为提交的作业分配资源。调度器可以根据不同的调度策略来决定哪个作业应该优先获得资源,并在需要时进行动态的资源分配和调整。
4.故障恢复:ResourceManager监控节点管理器的状态,并在节点管理器发生故障时进行故障恢复。
5.NodeManager(节点管理器):
NodeManager是每个集群节点上的组件,负责管理节点上的资源和执行具体的任务。其核心功能包括:
6.资源监控:NodeManager监测节点上的资源使用情况,包括CPU、内存、磁盘和网络等。它将这些信息报告给ResourceManager,以便进行全局资源管理。
7.任务管理:NodeManager负责启动和监控在节点上运行的容器(Container),每个容器是一个独立的任务或应用程序。它通过与其他NodeManager和ResourceManager进行通信来接收任务分配和更新状态。
YARN的工作流程如下:
8.用户提交作业(如MapReduce作业)到ResourceManager。
9.ResourceManager将作业分配给合适的节点管理器,并分配所需的计算资源。
10.节点管理器接收到作业后,在节点上启动容器来运行任务。
11.任务在容器中运行,并将进度和状态信息报告给节点管理器。
12.ResourceManager根据每个节点管理器汇报的资源使用情况和任务进度来进行全局资源管理和作业调度。
13.任务完成后,结果被收集和整合,最终将结果返回给用户。
通过YARN,用户可以将大数据处理作业提交到集群,并有效地利用集群的计算资源。YARN提供了灵活的资源管理和作业调度,使得不同类型的作业可以并行执行,提高了系统的吞吐量和可扩展性。同时,YARN还支持多种编程框架,如MapReduce、Spark和Hive等,使得用户可以选择适合自己需求的处理框架来进行大数据分析和处理。
当使用YARN进行大数据处理时,以下是一些常用的YARN命令及其解释:
1.yarn application -list
2.用途:列出当前正在运行的YARN应用程序。
3.示例:yarn application -list
4.解释:该命令将显示正在运行的应用程序的详细信息,包括应用程序ID、队列名称、用户、提交时间等。
5.yarn application -status
6.用途:获取指定应用程序ID的状态。
7.示例:yarn application -status application12345678900001
8.解释:该命令将显示指定应用程序ID的状态信息,包括应用程序名称、用户、队列名称、当前状态、进度等。
9.yarn application -kill
10.用途:终止指定应用程序ID的运行。
11.示例:yarn application -kill application12345678900001
12.解释:该命令将终止指定应用程序ID的运行,停止与该应用程序相关的所有任务和容器。
13.yarn logs -applicationId
14.用途:获取指定应用程序ID的日志。
15.示例:yarn logs -applicationId application12345678900001
16.解释:该命令将获取指定应用程序ID的日志信息,并显示在控制台上。
17.yarn node -list
18.用途:列出所有YARN节点的详细信息。
19.示例:yarn node -list
20.解释:该命令将显示所有YARN节点的详细信息,包括节点ID、主机名、节点状态、容器数等。
21.yarn node -status
22.用途:获取指定节点ID的状态。
23.示例:yarn node -status node1
24.解释:该命令将显示指定节点ID的状态信息,包括节点ID、主机名、节点状态、容器数等。
25.yarn queue -list
26.用途:列出所有YARN队列的详细信息。
27.示例:yarn queue -list
28.解释:该命令将显示所有YARN队列的详细信息,包括队列名称、状态、当前正在运行的应用程序数等。
29.yarn queue -status
30.用途:获取指定队列的状态。
31.示例:yarn queue -status root.queue1
32.解释:该命令将显示指定队列的状态信息,包括队列名称、状态、当前正在运行的应用程序数、容器数等。
33.yarn top
34.用途:显示当前正在运行的应用程序的资源使用情况。
35.示例:yarn top
36.解释:该命令将以类似于Unix系统的top命令的方式显示当前正在运行的应用程序的资源使用情况,包括CPU使用率、内存使用量等。
对于第四章中的hive在虚拟机中的部署,出现以下问题:
使用视频所给的ipv4显示网络不可达[root@node1 ~]# sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
curl: (7) Failed to connect to 23.197.180.248: Network is unreachable
error: https://repo.mysql.com/RPM-GPG-KEY-mysql-2022: import read failed(2).
对此,我进行了更改ip为默认设置,但是出现了另一个错误:下载MySQL中出现的No package mysql-communty-server available.
Error: Nothing to do报错。目前仍在研究中...