当前位置: 首页 > 科技观察

运行在YARN上的计算框架

时间:2023-03-21 16:55:51 科技观察

随着YARN(2013年8月25日发布内测版)的成熟和稳定,将形成以YARN为核心的生态系统。在这个生态系统中,所有计算相关的框架都可以运行在一个YARN集群中(由于YARN本身设计上的一些问题,目前还很难运行通用服务,比如WebServer,HBase等,未来趋势肯定是各种系统或服务可以跑在一个集群上,统一资源管理和调度)。为了关注该方向的技术动态和发展趋势,本博客开设了“framework-on-yarn”专栏,欢迎大家关注。作为本专栏的第一篇文章,我将介绍这种模式的好处以及目前运行在YARN上的比较成熟的计算框架。1.框架运行在YARN上的好处随着YARN的成熟和稳定,各种应用可以运行在一个YARN集群上,进行统一的资源管理和调度。由此带来的变化如下:(1)应用程序部署变得更加容易。管理员只需要部署YARN服务。各种应用框架不再有自己的服务,不需要部署。它们变成了客户端编程库(libraries),由YARN分发。缓存机制分布到各个节点;(2)服务部署变得简单。用户可以通过运行一个应用程序来部署一组服务,例如Storm服务。至于复制jar包,完全由YARN自动完成,用户像普通Storm集群一样使用Storm-On-YARN(三)多版本共享集群资源(简单隔离)由于YARN只负责资源管理和调度,至于上面运行什么应用或服务,完全由由用户决定,这允许用户在YARN上运行同一个服务的多个实例,比如为不同类型的应用程序运行多个Storm实例,而YARN本身可以为这些实例提供隔离机制(Cgroups)。使用YARN,用户在开发新的框架或应用程序时无需考虑资源隔离。(4)资源弹性管理由于一个YARN集群中运行着多种类型的应用,如离线计算、实时计算、DAG计算等,YARN可以根据不同类型应用的压力调整相应的资源使用量,以达到实现资源弹性管理。2.目前运行在YARN上的计算框架运行在YARN上的框架包括MapReduce-On-YARN、Spark-On-YARN、Storm-On-YARN和Tez-On-YARN。(1)MapReduce-On-YARN:YARN上的离线计算,在YARN发布版本中实现。随着YARN的稳定,MRv1运行模式将被淘汰;(2)Spark-On-YARN:YARNComputing上的内存;(3)Storm-On-YARN:YARN上的实时/流式计算;(4)Tez-On-YARN:DAGcomputingonYARN3.其他相关文章之前写过一些类似的文章,有兴趣的读者可以阅读以下文章:(1)StormOnYARN:http://dongxicheng.org/mapreduce-nextgen/storm-on-yarn/(2)TezOnYARN:http://dongxicheng.org/mapreduce-nextgen/apache-tez-newest-progress/(3)使用下一代HadoopYARN构建一个弹性计算平台:http://dongxicheng.org/mapreduce-nextgen/use-hadoop-yarn-to-build-a-cloud-system/(4)从问题域触发对Hadoop生态系统的理解:http://dongxicheng.org/mapreduce-nextgen/rethinking-hadoop-from-problems-solved/(5)浅析谷歌资源管理系统Omega:http://dongxicheng.org/mapreduce-nextgen/google-omega/(6)浅谈Omega/Torca/Mesos/YARN系统:http://dongxicheng.org/mapreduce-nextgen/borg-yarn-mesos-torca-corona/(7)多集群下资源共享方案介绍:http://dongxicheng。组织/mapreduce-nextgen/multi-clusters-sharing-resources/原文链接:http://dongxicheng.org/framework-on-yarn/distributed-computing-framework-on-yarn/