如何 0 成本启动全员 AI 技能提升?戳> 了解详情
写点什么

Arun Murthy 谈 Apache YARN

  • 2012-12-17
  • 本文字数:3739 字

    阅读完需:约 12 分钟

Apache Hadoop YARN 是一种新的 Hadoop 资源管理器,前不久被提升为高层次的 Hadoop 子项目。InfoQ 有幸在 Hortonworks 与 YARN 的创始人和架构师 Arun Murthy 进行了讨论。

Hortonworks 前不久宣布,Apache Hadoop YARN(Yet Another Resource Negotiator,另一种资源协调者)已经成为ASF(Apache 软件基金会)Apache Hadoop 的子项目。

“Apache Hadoop YARN 和Hadoop Common(核心库)、Hadoop HDFS(存储)、Hadoop MapReduce(MapReduce 实现)一样,成为了Apache 软件基金会顶级项目 Apache Hadoop 的子项目。在此之前,YARN 只是 Hadoop MapReduce 项目的一部分。”

YARN 最初是为了修复 MapReduce 实现里的明显不足,并对可伸缩性(支持一万个节点和二十万个内核的集群)、可靠性和集群利用率进行了提升。

YARN 实现这些需求的方式是,把 Job Tracker 的两个主要功能(资源管理和作业调度 / 监控)分成了两个独立的服务程序——全局的资源管理(RM)和针对每个应用的应用 Master(AM),这样,一个应用要么是传统意义上的 MapReduce 任务,要么是任务的有向无环图(DAG)。

和 Hadoop 里的其他内容一样,YARN 的资源管理和执行框架都是按主 / 从范例实现的——节点管理器(NM)运行、监控每个节点,并向资源管理器报告资源的可用性状态,和 HDFS 的架构相比,最终为系统里所有应用分配资源的是资源管理器。

特定应用的执行由应用 Master 控制,AM 负责将一个应用分割成多个任务,并和资源管理器协调执行所需的资源。资源一旦分配好,应用 Master 就和节点管理器一起安排、执行、监控独立的应用任务。

YARN 驱动使用“应用提交客户端(Application Submission Clien)”将一个“应用”提交给 YARN 资源管理器。借助“ClientRMProtocol”,客户端先获取一个新的“应用 ID”,然后提交运行“应用”。应用提交的信息里,包含应用 Master 要启动的 Unix 进程信息。提交信息还描述了应用运行要使用的本地文件 /jar,执行需要的实际命令,以及各种 Unix 环境设置等。可以在这里查看编写YARN 驱动的详情。

需要注意的是,YARN 并不会改变MapReduce 编程模型,它只是应用开发人员使用的API。YARN 提供了一种新的资源管理模型和实现,用来执行MapReduce 任务。因此,在最简单的情况下,现有的MapReduce 应用仍然能照原样运行(需要重新编译),YARN 只不过能让开发人员更精确地指定执行参数。

另外,YARN 可用来创建新的框架和除MapReduce 之外的执行模型,可以同时利用Hadoop 集群的计算能力和丰富的数据存储模型,来解决具体的新问题。这些新的框架还可以利用YARN 的资源管理,提供新的应用管理器实现。此外,这种架构还允许多个应用管理器同时存在,共享同一个Hadoop 集群和驻留在集群上的数据。

InfoQ 有幸在 Hortonworks 和 YARN 的创始人和架构师 Arun Murthy 进行了讨论,谈论了 YARN 及其以后的发展方向:

InfoQ:到目前为止,Hadoop 在层数的限制上很与众不同,尤其和应用服务器相比。正因为“薄”,Hadoop 才执行得非常快。那增加一层(容器)会不会减慢 Hadoop 的执行速度?

Arun:我并不这么认为。YARN 只是把不同的功能移到了不同的服务里(或者是服务程序)……比如全局的集群资源管理现在完全是 ResourceManager 的功能,这个功能和应用的生命周期管理明显不同,应用生命周期管理现在则属于 ApplicationMaster 的范畴。

因此,服务和责任变得更加简单,也更容易伸缩了。

事实上,对运行在 YARN 里的 MapReduce 应用来说,性能已经有了显著提升,而且还能进行更多进一步的优化。在这里可以查看详细信息。

InfoQ:Hadoop 和 MapReduce 最强大的特性之一是它们很简单,分离了应用开发人员和框架支持之间的关注点。我在看 YARN API 的例子时,发现它们非常简单,但要求很好地理解一些系统组件。你担心不担心这种复杂性会让 YARN 不那么吸引人?

Arun:正如你所观察到的,我们非常尽力地让 YARN 系统本身(即资源管理器和节点管理器)保持简单。这显著提升了伸缩性和性能,我们模拟过一万个节点的集群。可以这么说,保持接口原生能让强大的技术社区写出高性能的应用。而且,YARN 本身的目标对象略有不同,尤其是和 MapReduce 应用的目标对象相比。我们期望 YARN 能有更多像 MapReduce 和 MPI 一样的简单 API,以便继续给最终用户提供简单的接口。

YARN 为应用开发人员提供了一套简单、功能齐全的 API,而 MapReduce 则为最终用户提供了简单的 API。

InfoQ:目前,为了更好地利用集群,Hadoop 实现推出了很多自定义的输入格式实现。YARN 对这种灵活性有限制么?

Arun:YARN 不会对 MapReduce 的执行造成任何影响。目前在 MapReduce 里实现的所有内容都能继续工作。

InfoQ:你打算给 C++ Mapper/Reducer 实现提供直接支持么?现在的 API 都以 Java 为中心,对重要的 C++ 计算来说,这迫使每个人都要使用 JNI,而这并不是最方便的方法。

Arun:我团队的路线图上还没明确的计划。反过来说,这倒是挺有趣的,不过早期已经有针对 C++ MR API 的实现了,像百度做的(请看这里这里)。

我觉得,如果我们能把较多的社区吸引到 YARN 上来,我们就会看到更多的人参与进来,就有希望看到其他的替选方案。这是 YARN 的关键目标之一,即允许基于 YARN 系统的创新,而不用核心的 Hadoop 社区自己去交付各种可能的创新……

InfoQ:我了解到,YARN 还处于测试状态。什么时候能投入生产环境使用呢?

Arun:从我的角度来说,各种迹象都很乐观。我觉得在今年年底或明年年初,YARN 和包含 HDFS HA 的 hadoop-2.x 就能达到生产级别了。时间马上就要临近了,这很令人兴奋!尤其是我自己花了近两年的时间开发,YARN 才成型。

InfoQ:除了内存,你还打算引入哪些资源呢?什么时候引入?

Arun:很高兴你问这个问题!我已经给 YARN 做了一个补丁,添加了多资源的调度(如你所说,目前只是内存这一种资源)。

我很快就会提交!这个补丁允许调度内存和 CPU。之后,我们会添加更多的资源……比如磁盘或网络 I/O、GPU 等。

InfoQ:除了 MapReduce,你还打算把哪些框架加入 YARN?具体来说,有没有为 Apache Hama 添加应用管理器的计划?

Arun:好几个开源项目都要移植到 YARN,它们现在处于不同的阶段。关于 Hama,我相信 Hama 社区已经在主干上完成必要的工作了,能让 Hama 在 YARN 中运行( HAMA-431 ),我们应该很快就能看到一次发布!

前面已经说过,YARN 的目标是鼓励其他社区移植到 YARN 上,而不一定由我们自己去完成这些工作!

我相信,借 YARN 开放 Apache Hadoop 会驱动大数据 Hadoop 生态系统的进一步创新——YARN 会特别有吸引力,因为它具备以下主要优势:

  • YARN 是和 HDFS 共同设计、共同开发、发布的。它能为各种应用开放 HDFS 上的所有数据(数百 PB)。
  • YARN 是唯一的大规模、目标通用的资源管理框架,特别是它的主要目的是为 MapReduce 等大数据应用解决关键的数据拓扑问题。这能让应用更简单、更高效地处理 TB 和 PB 级别的数据。很高兴能针对这一点再谈谈。
  • 由于 YARN 是 Hadoop 进行处理的得力部分(HDFS 负责存储,YARN 负责处理),它会出现在很多数据中心里,无处不在,并吸引着开发人员,成为核心、开源的平台
  • YARN 决定 Hadoop 的规模,也就是在成千上万个节点上高效工作——这是大数据的另一个关键需求。
  • YARN 本身处理了非常棘手的问题,有资源管理(集群中的免费资源在哪里、我应该把资源分配给谁)、容错(哪些节点启动了,或者停止了等)和伸缩。这能让应用框架开发人员从细枝末节里解脱出来,只关注框架。本质上讲,这和 MapReduce 一样的,也就是说,MR 是最终用户的简单目标,但对应用框架开发人员来说却是重复的内容。

在开源世界里,使用 YARN 的有:

实时处理:

能替换的 MapReduce 的编程范式里,正在和 YARN 整合的有:

YARN 支撑的 Hadoop Wiki

InfoQ:对 Hadoop 生态系统来说,Apache Hadoop YARN 有什么意义呢?

Arun:Hadoop 社区在很多方面都体现出, YARN 对 Hadoop 的开放所起到的作用超越了 MapReduce,我们也有信心为那些想基于 YARN 做项目的其他社区提供支持。

YARN 以前和 MapReduce 很像,完成了资源管理、集群管理、容错、调度等繁重的工作,能让目标社区只专注于应用的细节,包括 MPI、Apache Giraph、Apache Hama、Spark 等在内的这些目标社区都看到了其中的价值,正在与 YARN 进行集成。此外,YARN 会为目标社区开放整个 Hadoop 社区,允许他们访问已经存储在 HDFS 里的数据,对 Hadoop 和其他社区来说,这会是个双赢的局面。

关于受访者

Arun C. Murthy是 Apache 软件基金会 Apache Hadoop 的副总裁,Apache Hadoop PMC 的主席,自 2006 年 Hadoop 项目成立以来,就成为了 Hadoop 的全职贡献者。他也是 MapReduce 项目的领头人,专注于构建新一代的 MapReduce(YARN)。在联合创办 Hortonworks 以前,Arun 曾在 Yahoo! 负责部署在四万两千多台服务器上的所有 MapReduce 代码和配置。实际就是在 Yahoo! 负责将 Apache Hadoop 的 MapReduce 作为一个服务运行。Arun 的 Twitter 是 @acmurthy,你可以 follow 他。

注:文章图片来源于这里

查看英文原文: Interview with Arun Murthy on Apache YARN

2012-12-17 07:324888
用户头像

发布了 151 篇内容, 共 68.4 次阅读, 收获喜欢 18 次。

关注

评论

发布
暂无评论
发现更多内容

百度集团副总裁吴甜:大语言模型面临三大技术挑战

飞桨PaddlePaddle

文心一言 文心大模型

Rocketmq并发和顺序消费的失败重试机制

石臻臻的杂货铺

RocketMQ

如何提高技术领导力?与你分享 5 个心得

LigaAI

程序人生 技术管理 成长与思考 技术领导力 企业号9月PK榜

中国机械总院张红新:强化集团级数据治理 业财融合助力企业降本增效

用友BIP

2023全球商业创新大会

什么是隧道代理、http代理,隧道代理较于http代理有什么优势?

巨量HTTP

代理IP http代理

对线面试官 - Java基础面试题【一】

派大星

Java 面试题

选择渲染农场的几个标准

Finovy Cloud

游戏制作 影视制作 渲染 云渲染 渲染农场

快手发布文生图大模型“可图”,探索AI新玩法

Geek老T

短视频 AIGC

文心一言 VS 讯飞星火 VS chatgpt (96)-- 算法导论9.3 1题

福大大架构师每日一题

福大大架构师每日一题

FIL NEW算力挖矿系统开发

l8l259l3365

fastposter 新版本 v2.17.0 强势发布!让海报开发更简单

物有本末

图片处理 海报生成器 海报生成 海报小程序

软通咨询杨念农:咨询2.0是企业数字化转型的大脑

软通咨询

数字化转型 #人工智能 管理咨询 数字化转型咨询

Web3.0时代的全新合作模式:DAO | 京东云技术团队

京东科技开发者

区块链 DAO Web3.0 企业号9月PK榜

JDK8升级JDK11最全实践干货来了 | 京东云技术团队

京东科技开发者

Java jdk8 JDK11 企业号9月PK榜

行云管家支持信创吗?是真的吗?

行云管家

信创 国产化 行云管家

百度智能云引领建设智能云标准生态,第十二届云计算标准和应用大会成功召开

Baidu AICLOUD

智能云 大模型 AI 原生云

termius使用ssh教程 【XShell的神器Termius】

南屿

SSH Termius

市面上支持信创的堡垒机哪家好?为什么?

行云管家

网络安全 信创 数据安全 堡垒机

探索以太坊 Layer 2 解决方案的后起之秀——Starknet

Footprint Analytics

区块链 以太坊 Layer 2

中国广核集团智慧司库系统票据业务成功上线!打造票据数智管理新标杆!

用友BIP

全球司库

教你用API插件开发一个AI快速处理图片小助手

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号9月PK榜

主动写入流对@ResponseBody注解的影响 | 京东云技术团队

京东科技开发者

spring 注解 企业号9月PK榜 @ResponseBody

修旧利废,提升净资产收益率

用友BIP

资产管理

数字化转型与架构-架构设计篇|什么是架构风格和架构模式?

数字随行

数字化转型

聚焦企业开放OpenAPI痛难点,华为云API Explorer助力构建API门户

华为云开发者联盟

软件开发 华为云 华为云开发者联盟 企业号9月PK榜

慢SQL治理实践及落地成果分享 | 京东物流技术团队

京东科技开发者

数据库 sql 慢SQL 企业号9月PK榜

专业级PDF编辑和管理 Acrobat Pro DC 2023 for Mac

胖墩儿不胖y

Mac软件 pdf编辑器 编辑pdf pdf工具

国庆机酒预订又快又便宜?内附华为Mate60负一屏抢购攻略

最新动态

未来AI领域的颠覆性力量

百度开发者中心

自然语言 #人工智能 文心一言

Arun Murthy谈Apache YARN_开源_Boris Lublinsky_InfoQ精选文章