你好,游客 登录
背景:
阅读新闻

Hadoop 2.0:YARN能否改变游戏规则?

[日期:2014-10-22] 来源:TechTarget中国   作者:Arnon Rotem [字体: ]

      随着大数据概念的升温,hadoop作 为最具代表性的技术进入人们视野已有一段时间了。整个Hadoop生态系统也在飞速发展,几乎每一天都会衍生出新的功能或者新的工具。尽管有一些是微小的 改动,比如Oozie中更完美地支持调度,或者还有一些仍在开发中,比如对NFS的支持。还有一些非常酷的特性,比如在Pig当中对CPython提供完 整支持等。但在我看来,这些都不如Hadoop 2.0中的YARN更具革命性。

      我们都知道,Hadoop有两个核心的组件,即HDFS(分布式文件系统)和MapReduce架构(分布式处理平台)。而YARN的出现,则使Hadoop从一个分布式处理架构蜕变为一个分布式操作系统。

      用“操作系统”这个词可能会被很多网友吐槽,是不是夸张了点?这里我要引用计算机大牛Andrew S.Tanenbaum在《现代操作系统》一书中对OS的定义,它包括:

  • 一个虚拟机:操作系统的作用,就是为用户提供一个扩展计算机或者虚拟机的环境,能让用户在底层硬件中更容易进行编程
  • 一个资源管理器:操作系统要做的,是为处理器,内存,IO设备等提供有序的、可控的资源分配,以便各种程序进行使用。

      针对第一个条件,Hadoop从一开始在1.0版本中就已经提供支持。而YARN的出现则满足了第二个条件。因此在我看来,Hadoop现在已经可以被视为分布式的操作系统。

      YARN就是Hadoop的资源管理器。之前的Hadoop是在MapReduce基础上构建的,虽然在计算范式上有过很多尝试,但它依然没有脱离 MapReduce提供的框架。它以JobTracker和TaskTracker的形式来处理工作负载并管理服务器资源,每个节点都是配置了map和 reduce。

在Hadoop 2.0中,MapReduce已经不再是唯一的选择。它提供了更好,更灵活的设计,对计算资源处理进行了分离。对于YARN,大家可以去拜读Hortonworks架构师Arun Murthy的系列文章,其中的介绍非常详细。

这里要强调一点,上文提到的计算资源处理分离已经运用到了实际的环境当中,并取得了不错的效果,比如包括:

  • Storm on YARNTwitter应用的运行在Hadoop上的流计算框架(Yahoo)
  • Apache Samza基于YARN开发的项目,可以作为Storm的替代品(Apache)
  • HOYAHBase on YARN,集群上的HBase部署工具(Hortonworks)
  • Weave基于YARN的封装,用于简化应用部署(Continuuity)
  • Giraph图形处理系统(Apache)
  • Llama让外部服务器从YARN获取资源的框架(Cloudera)
  • Spark on Yarn基于内存的分析集群技术
  • Tez通用的、高度可定制的框架,用于简化Hadoop中数据处理任务的创建,支持小规模(低延迟)和大规模(高吞吐量)负载(Hortonworks)

总之在我看来,YARN的引入对Hadoop来说是具有革命性的,是可以改变游戏规则的。而且它已经从理论走向实践,而并不是未来的某种概念。事实上,Hadoop 2.0已经正式GA了,用户已经可以直接对YARN进行测试。





收藏 推荐 打印 | 录入: | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款