大数据笔记之YARN

Hadoop2.0

由HDFS,MR,YARN三部分组成。其中HDFS:支持NN Federation、HA。

MapReduce:运行在YARN上的MR,编程模型不变。

YARN:资源管理系统。

YARN框架

 

  1. ResourceManager:处理客户端请求,启动/监控ApplicationMaster,监控NodeManager,资源分配与调度。
  2. NodeManager:单个节点上的资源管理,处理来自ResourceManager的命令,处理来自ApplicationMaster的命令。
  3. ApplicationMater:数据切分,为应用程序申请资源,并分配给内部任务,任务监控。

MRv2任务管理

MRv2的运行环境有YARN提供,YARN将MRv1的TaskTrack拆分为resourceManager(主要负责各节点的运行情况合理地分配资源)和 applicationManager(负责单一任务的调度以及向resourceManager请求资源)。如果集群中有多个作业,则需要多个applicationManager,解决负载过重问题。

MRv2任务流程

  1. 用户向YARN中提交应用程序,其中包括ApplicationMaster程序、启动ApplicationMaster的命令、用户程序等。
  2. ResourceManager为该应用程序分配第一个Container,并与对应的NodeManager通信,要求它在这个Container中启动应用程序的ApplicationMaster。
  3. ApplicationMaster首先向ResourceManager注册,这样,用户可以直接通过ResourceManage查看应用程序运行状态,然后,它将为各个任务申请资源,并监控它的运行状态,直到运行结束,即重复步骤4~7。
  4. ApplicationMaster采用轮询的方式通过RPC协议向ResourceManager申请和领取资源。
  5. 一旦ApplicationMaster申请到资源后,则与对应的NodeManager通信,要求其启动任务。
  6. NodeManager为任务设置好运行环境(包括环境变量、jar包、二进制程序等)后,将任务启动命令写到一个脚本中,并通过运行该脚本启动任务。
  7. 各个任务通过某个RPC协议向ApplicationMaster汇报自己的状态和进度,以让ApplicationMaster随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务。在应用程序运行过程中,用户可随时通过RPCApplicationMaster查询应用程序的当前运行状态。
  8. 应用程序运行完成后,ApplicationMaster向ResourceManager注销,并关闭自己。

Yarn调度框架

  • 双层调度框架

RM将资源分配给AM,AM将资源进一步分配给各个Task

  • 基于资源预留的调度策略

资源不够时,会给Task预留,知道资源充足。

  • YARN资源调度器

核心概念:Container——支持COU和内存两种资源调度方式,允许配置每个节点、每个任务可以用的CPU和内存资源总量(代码直接实现)。

提供多种资源调度其:FIFO,Fair Scheduler,Capacity Scheduler……

多租户资源调度器:支持资源按比例分配,支持层级队列划分方式,支持资源抢占。

  • YARN资源隔离方案

支持内存和CPU两种资源隔离:内存是“关键!”的资源,CPU是“影响速度”的资源。

内存隔离:1.基于线程监控的方案。2.基于Cgroups的方案。

CPU隔离:默认不对CPU资源进行隔离,基于Cgroups的方案。

YARN支持的框架

 

<think>好的,我需要帮助用户找到关于Hadoop大数据操作的相关笔记或学习资料。用户明确提到了“Hadoop 大数据 操作 笔记 学习资料”,所以我要根据提供的引用内容来整理相关信息。 首先,查看用户提供的引用内容。引用[1]提到Hadoop的核心是HDFS和MapReduce,HDFS用于存储,MapReduce用于分析计算。引用[2]详细说明了Hadoop的优势,如高可靠性、扩展性、高效性和容错性。引用[3]指出Hadoop是部署在多台计算机上的框架,通过网络通讯。引用[4]是尚硅谷的学习笔记,侧重于Hadoop的概念、解决的问题和原理,而不是安装或编码。引用[5]介绍了Hadoop是一个开源分布式架构,适合处理非结构化数据。 接下来,我需要将这些信息组织成结构清晰的回答。可能需要分几个部分:Hadoop简介、核心组件、优势、学习资源推荐、操作实践要点等。同时,用户需要学习资料,所以需要推荐具体的笔记或教程,比如引用[4]提到的尚硅谷教程笔记,以及引用[2]和[5]中的内容。 还要注意按照系统级指令的要求,使用正确的中文回答,数学公式用$...$,独立公式用$$...$$,不过当前问题可能不涉及数学公式。需要生成相关问题,放在最后。 需要确保每个引用在回答中正确标注,例如在提到Hadoop核心时引用[1],优势时引用[2]等。同时,用户可能对Hadoop的操作和实际应用感兴趣,所以需要结合引用中的信息,比如HDFS的操作、MapReduce任务的处理等。 最后,检查是否符合所有要求,特别是引用标识是否正确添加,结构是否清晰,问题是否相关。确保没有使用任何Markdown格式,使用自然的中文,避免技术术语堆砌,而是解释清楚。</think>以下是为您整理的Hadoop大数据操作相关学习资料与核心知识点: ### 一、Hadoop核心概念 1. **定义与作用** Hadoop是开源分布式系统基础架构,专为处理海量非结构化数据设计,通过集群实现高速运算与存储[^5]。核心解决海量数据存储(HDFS)和分析计算(MapReduce)问题[^2]。 2. **核心组件** - **HDFS**:分布式文件系统,支持多副本存储,防止数据丢失[^1]。 *示例操作*:文件分块存储(默认128MB/块)、读写流程涉及NameNode与DataNode协作。 - **MapReduce**:并行计算框架,分为Map(数据分片处理)和Reduce(结果汇总)阶段[^1]。 3. **四大优势** - 高可靠性:多数据副本机制[^2] - 高扩展性:支持千级节点扩展 - 高效性:并行计算加速处理 - 高容错性:失败任务自动重分配 ### 二、推荐学习资料 1. **入门教程** - [尚硅谷Hadoop教程笔记](引用[4]):侧重概念与原理,适合快速理解Hadoop的定位与工作机制。 - [Hadoop组成解析](引用[2]):详细说明HDFS、MapReduce、YARN等技术栈的关系。 2. **操作实践资源** - [Hadoop集群部署指南](引用[3]):介绍多主机环境下的软件部署与网络通信配置。 - 官方文档:Apache Hadoop官网提供完整的API说明与配置参数详解。 ### 三、操作关键点 1. **HDFS常用命令** ```bash hdfs dfs -ls /path # 查看目录 hdfs dfs -put localfile /hdfs/path # 上传文件 hdfs dfs -cat /hdfs/file # 查看文件内容 ``` 2. **MapReduce编程模型** - Mapper类处理输入键值对 - Reducer类聚合中间结果 ```java // 示例Mapper片段 public class WordCountMapper extends Mapper<LongWritable, Text, Text, IntWritable>{ protected void map(LongWritable key, Text value, Context context) { // 实现分词与输出 } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值