首页 数据库 mysql教程 利用下一代Hadoop YARN构建轻量级弹性计算平台

利用下一代Hadoop YARN构建轻量级弹性计算平台

Jun 07, 2016 pm 04:30 PM
hadoop yarn 使用 弹性 构建 轻量级

作者: Dong | 新浪微博: 西成懂 | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明 网址:http://dongxicheng.org/mapreduce-nextgen/use-hadoop-yarn-to-build-a-cloud-system/ 本博客的文章集合:http://dongxicheng.org/recommend/ 重


重大消息:我的Hadoop新书《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》已经开始在各大网站销售了,购书链接地址: 当当购书网址,京东购书网址,卓越购书网址。新书官方宣传主页: http://hadoop123.com/。

YARN(Yet Another Resource Negotiator)是下一代Hadoop的一个分支(注意:目前YARN尚不成熟稳定,各大公司普遍使用的还是Hadoop 1.0,但YARN是未来发展趋势,可以提前了解和学习它),它是一个资源管理系统,其上可以运行各种计算框架和应用程序,关于YARN,我已经在多篇文章中进行了介绍:

(1)”相比于MRv1,YARN带来的优势是什么?”

(2)”Hadoop 2.0中的基本术语解释”

(3)”浅谈Borg/YARN/Mesos/Torca/Corona一类系统”

(4)”多集群下资源共享方案介绍”

(5)”解析Google集群资源管理系统Omega”

更多文章可参考:下一代Hadoop YARN全面剖析。

YARN是未来的一个趋势,YARN本身已经变成了一个云操作系统,很多新的计算框架或者应用程序不再基于传统的操作系统开发(比如Linux),而是基于YARN这个云操作系统,YARN提供了资源管理和资源调度等机制,这意味着,很多新的计算框架或者应用程序脱离了YARN将不再可以单独运行,典型的代表是DAG计算框架Tez和Spark(Spark也可以运行在另一个与YARN类似的资源管理系统Mesos上)。

当前很多计算框架都开发了YARN版本,以能够直接运行在YARN上。本文进行简单的梳理。

(1) MapReduce:MapReduce是一个非常经典的离线计算框架,在MRv1中,MapReduce应用程序运行在由JobTracker和TaskTracker组成的运行时环境中,而在YARN中,不再有JobTracker和TaskTracker这样的服务组件,取而代之的是一个组件ApplicationMaster,它只负责应用程序相关的管理,比如任务切分和调度、任务监控和容错等,而资源相关的调度和管理交给YARN完成。

(2) Tez:Hortonworks开源的DAG计算框架,在MAPREDUCE基础上扩展而来的,重用了MapReduce大量代码,仅支持运行在YARN上,不可单独运行。Tez介绍可参考我的这篇文章:“Apache Tez:一个运行在YARN之上支持DAG作业的计算框架”。

(3)Storm:实时计算框架,运行时环境由Nimbus和supervisor等组件组成,目前storm团队正准备将其移植到YARN上(具体参考:storm plugin for Hadoop YARN:https://groups.google.com/forum/?fromgroups#!topic/storm-user/XBHCau0e5nA),而Yahoo甚至已经开源了一个简单的版本(具体见:https://github.com/yahoo/storm-yarn)。

(4)Spark:Spark是一个基于内存实现的MapReduce计算框架,某些应用场景下更加高效,它目前已经支持运行在YARN上(https://github.com/tweetmagik/spark-yarn)。

随着开源界的发展和推进,最终,YARN之上可以运行各种应用类型的计算框架,包括离线计算框架MapReduce,实时计算框架Storm,DAG计算框架Tez等,真正实现一个集群多用途,这样的集群或者系统,我们通常称为轻量级弹性计算平台,说它轻量级,是因为YARN采用了cgroups轻量级隔离方案,说它弹性,是因为YARN能根据各种计算框架或者应用的负载或者需求调整它们各自占用的资源,实现集群资源共享,资源弹性收缩。在不久的将来,普遍采用的部署方案应该如下:

当然,随着YARN朝着资源管理系统方向更好地发展,最终Impala和Hbase(Hbase已经在做了,参考:https://issues.apache.org/jira/browse/HBASE-4329)这种系统,均可以部署到YARN之上,这样,凡是跟计算沾边的系统均可以部署到YARN上。

原创文章,转载请注明: 转载自董的博客

本文链接地址: http://dongxicheng.org/mapreduce-nextgen/use-hadoop-yarn-to-build-a-cloud-system/

作者:Dong,作者介绍:http://dongxicheng.org/about/

本博客的文章集合:http://dongxicheng.org/recommend/


Copyright © 2013
This feed is for personal, non-commercial use only.
The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:
)
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

适用于低端或较旧计算机的最佳轻量级Linux发行版 适用于低端或较旧计算机的最佳轻量级Linux发行版 Mar 06, 2024 am 09:49 AM

正在寻找完美的Linux发行版,为旧的或低端计算机注入新的活力吗?如果是的话,那么你来对地方了。在本文中,我们将探索一些轻量级Linux发行版的首选,这些发行版是专门为较旧或功能较弱的硬件量身定做的。无论这样做背后的动机是重振老旧的设备,还是只是在预算内最大化性能,这些轻量级选项肯定能满足需求。为什么要选择轻量级的Linux发行版?选择轻量级Linux发行版有几个优点,第一个优点是在最少的系统资源上获得最佳性能,这使得它们非常适合处理能力、RAM和存储空间有限的旧硬件。除此之外,与较重的资源密集

构建自定义的WordPress用户流程,第三部分:密码重置 构建自定义的WordPress用户流程,第三部分:密码重置 Sep 03, 2023 pm 11:05 PM

在本系列的前两个教程中,我们构建了用于登录和注册新用户的自定义页面。现在,登录流程中只剩下一个部分需要探索和替换:如果用户忘记密码并想要重置WordPress密码,会发生什么?在本教程中,我们将解决最后一步并完成我们在整个系列中构建的个性化登录插件。WordPress中的密码重置功能或多或少遵循当今网站上的标准方法:用户通过输入用户名或电子邮件地址并请求WordPress重置密码来启动重置。创建临时密码重置令牌并将其存储在用户数据中。包含此令牌的链接将发送到用户的电子邮件地址。用户点击链接。在重

如何利用GitLab进行项目文档管理 如何利用GitLab进行项目文档管理 Oct 20, 2023 am 10:40 AM

如何利用GitLab进行项目文档管理一、背景介绍在软件开发过程中,项目文档是非常重要的资料,不仅能够帮助开发团队了解项目的需求和设计,还能提供给测试团队和客户参考。为了方便项目文档的版本控制和团队协作,我们可以利用GitLab来进行项目文档管理。GitLab是一个基于Git的版本控制系统,除了支持代码管理,还可以管理项目文档。二、GitLab环境搭建首先,我

解析Golang为何适用于高并发处理? 解析Golang为何适用于高并发处理? Feb 29, 2024 pm 01:12 PM

Golang(Go语言)是一种由Google开发的编程语言,旨在提供高效、简洁、并发和轻量级的编程体验。它内置了并发特性,为开发者提供了强大的工具,使其在处理高并发情况下表现优异。本文将深入探讨Golang为何适用于高并发处理的原因,并提供具体的代码示例加以说明。Golang并发模型Golang采用了基于goroutine和channel的并发模型。goro

ChatGPT Java:如何构建一个智能音乐推荐系统 ChatGPT Java:如何构建一个智能音乐推荐系统 Oct 27, 2023 pm 01:55 PM

ChatGPTJava:如何构建一个智能音乐推荐系统,需要具体代码示例引言:随着互联网的迅猛发展,音乐已经成为人们日常生活中必不可少的一部分。而随着音乐平台的不断涌现,用户经常面临一个共同的问题:如何找到符合自己口味的音乐?为了解决这个问题,智能音乐推荐系统应运而生。本文将介绍如何使用ChatGPTJava构建一个智能音乐推荐系统,并提供具体代码示例。第

构建流畅无阻:如何正确配置Maven镜像地址 构建流畅无阻:如何正确配置Maven镜像地址 Feb 20, 2024 pm 08:48 PM

构建流畅无阻:如何正确配置Maven镜像地址在使用Maven构建项目时,配置正确的镜像地址是非常重要的。正确配置镜像地址可以加快项目构建的速度,避免网络延迟等问题。本文将介绍如何正确配置Maven镜像地址,并给出具体的代码示例。为什么需要配置Maven镜像地址Maven是一个项目管理工具,可以自动化构建项目、管理依赖、生成报告等。在Maven构建项目时,通常

抖音推荐视频是什么意思?如何利用抖音推荐视频? 抖音推荐视频是什么意思?如何利用抖音推荐视频? Mar 27, 2024 pm 03:01 PM

抖音作为一个全球知名的短视频社交平台,靠着其独特的个性化推荐算法赢得了广大用户的青睐。本文将深入研究抖音视频推荐的价值和原理,帮助读者更好地了解和充分利用这一功能。一、什么是抖音推荐视频抖音推荐视频是根据用户的兴趣和行为习惯,利用智能推荐算法为用户筛选和推送个性化视频内容。抖音平台通过分析用户的观看历史、点赞和评论行为、分享记录等数据,从庞大的视频库中精选出最符合用户口味的视频进行推荐。这种个性化推荐系统不仅提高了用户体验,也帮助用户发现更多符合其喜好的视频内容,从而增强用户黏性和留存率。在这个

优化Maven项目打包流程,提升开发效率 优化Maven项目打包流程,提升开发效率 Feb 24, 2024 pm 02:15 PM

Maven项目打包步骤指南:优化构建过程,提高开发效率随着软件开发项目变得越来越复杂,项目构建的效率和速度成为了开发过程中不可忽视的重要环节。作为一种流行的项目管理工具,Maven在项目构建中扮演了关键角色。本指南将探讨如何通过优化Maven项目的打包步骤,提高开发效率,并提供具体的代码示例。1.确认项目结构在开始优化Maven项目打包步骤之前,首先需要确

See all articles