搜索
查看: 2056|: 0

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

[复制链接]

183

主题

8

回帖

820

积分

高级会员

积分
820
发表于 2014-10-23 11:34:40 | 显示全部楼层 |阅读模式
本帖最后由 MEI 于 2014-10-23 11:38 编辑

       随着大数据概念的升温,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 YARN:Twitter应用的运行在Hadoop上的流计算框架(Yahoo)
       Apache Samza:基于YARN开发的项目,可以作为Storm的替代品(Apache)
       HOYA:HBase 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进行测试。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

大数据中国微信

QQ   

版权所有: Discuz! © 2001-2013 大数据.

GMT+8, 2024-12-22 15:48 , Processed in 0.086178 second(s), 24 queries .

快速回复 返回顶部 返回列表