前言
嗨,各位小伙伴,恭喜大家学习到这里,不知道关于大数据前面的知识遗忘程度怎么样了,又或者是对大数据后面的知识是否感兴趣,本文是《大数据从入门到精通(超详细版)》的一部分,小伙伴们如果对此感谢兴趣的话,推荐大家按照大数据学习路径开始学习哦。
以下就是完整的学习路径哦。
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
推荐大家认真学习哦!!!
文章目录
Yarn是什么
Hadoop YARN(Yet Another Resource Negotiator)是 Hadoop 生态系统中的一个核心组件,用于集群资源的管理和任务调度。YARN 的目标是为大规模分布式计算提供统一的资源管理框架,使得 Hadoop 除了支持 MapReduce 之外,还能够运行其他计算模型。
YARN 的主要功能包括:
- 资源调度:YARN 管理着集群中的各种资源(如 CPU、内存等),根据不同应用的需求,动态地分配和调度这些资源。
- 任务协调和调度:YARN 提供了一个全局的资源调度器,可以将不同类型的任务(如 MapReduce、Spark、Hive 等)提交给 ResourceManager 进行调度,并将任务分配给合适的节点上的 NodeManager 执行。
- 容错处理:YARN 具备自动容错和故障转移机制,可以在节点故障时重新分配任务以保证作业的顺利执行。
- 扩展性:YARN 的架构设计具有良好的扩展性,可以轻松地增加或减少集群的容量,适应不同规模和负载的需求。
YARN 的核心组件包括:
- ResourceManager:整个集群的资源管理器,负责接收客户端提交的任务,并将任务分配给合适的节点上的 NodeManager 执行。
- NodeManager:运行在集群节点上,负责管理该节点的资源,并执行来自 ResourceManager 的任务。
- ApplicationMaster:每个应用程序的主管进程,负责和 ResourceManager 通信,申请资源和监控任务的执行情况。
通过 YARN,Hadoop 可以不仅仅局限于 MapReduce,还可以支持更多计算模型和框架,提供更加灵活和高效的大规模数据处理能力。
大致的资源分配流程

Yarn的架构
于HDFS架构类似 , HDFS有NameNode和DataNode
Yarn也有ResourceManager和NodeManager
- ResourceManager : 整个集群的资源调度者 , 负责协调调度各个程序所需的资源
- NodeManager : 单个服务器的资源调度者 , 负责调度单个服务器上的资源提供给应用程序使用

Yarn容器
NodeManager会预先抢占这一部分的资源, 然后将这一部分的资源提供给程序使用 , 程序使用的资源也不能突破这部分的资源.
Web应用代理
概念
代理服务器, 即Web应用代理是YARN的一部分 , 默认情况下 , 它将作为资源管理器(RM)的一部分运行 , 但是可以配置为独立模式下运行.\
使用大理的原因是减少通过YARN进行基于网络的攻击可能性.
这是因为 , Yarn在运行时会提供一个WEB UI站点 , 可以让用户在浏览器内查看Yarn的运行信息.
对外提供WEB站点会有安全性问题 , 而代理服务器的功能就是最大限度的保障对WEB UI的访问安全性.
- 警告用户正在访问一个不受信任的站点
- 剥离用户访问的Cookie
独立部署的步骤
-
在yarn-site.xml中配置yarn.web-proxy.address参数即可

-
通过启动命令启动 : $HADOOP_YARN_HOME/sbin/yarn-daemon.sh start proxyserver
Yarn的历史服务器
JobHistoryServer :
记录历史运行的程序的信息以及产生的日志并提供WEB UI站点供用户使用浏览器查看。

JobHistoryServer历史服务器功能:
- 提供WEB UI站点,供用户在浏览器上查看程序日志
- 可以保留历史数据,随时查看历史运行程序信息
JobHistoryServer需要配置:
- 开启日志聚合,即从容器中抓取日志到HDFS集中存储

-
配置历史服务器端口和主机

Yarn的部署
部署总体说明
| 组件 | 配置文件 | 启动进程 | 备注 |
|---|---|---|---|
| Hadoop HDFS | 需修改 | 需启动NameNode作为主节点DataNode作为从节点SecondaryNameNode主节点辅助 | 分布式文件系统 |
| Hadoop YARN | 需修改 | 需启动ResourceManager作为集群资源管理者NodeManager作为单机资源管理者ProxyServer代理服务器提供安全性JobHistoryServer记录历史信息和日志 | 分布式资源调度 |
| Hadoop MapReduce | 需修改 | 无需启动任何进程MapReduce程序运行在YARN容器内 | 分布式数据计算 |
集群规划

配置过程
mapreduce的配置
以下配置都在$HADOOP_HOME/etc/hadoop的文件夹当中配置.
配置mapred-env.sh文件
#JDK路径
export JAVA_HOME=/export/server/jdk
#设置JobHistoryServer的进程内存为1G
export HADOOP_JOB_HISTORYSERVER_HEAPSIZE=1000
#设置日志级别为INFO
export HADOOP_MAPRED_ROOT_LOGGER=INFO,RFA

配置mapred-site.xml文件
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<description>MapReduce的运行框架设置为YARN</description>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>node:10020<

本文介绍了ApacheHadoopYARN组件的作用,包括资源调度、任务协调、容错处理和扩展性,详细阐述了YARN架构、资源配置流程、Web应用代理、部署步骤以及MapReduce在YARN中的执行,展示了如何配置和启动YARN集群以及WordCount程序实例。

1万+

被折叠的 条评论
为什么被折叠?



