[Yarn基础]– Apache Yarn 、 Apache Twill 和 Apache Slider 的对比

[Yarn基础]– Apache Yarn 、 Apache Twill 和 Apache Slider 的对比一、ApacheYarn、Twill和Slider的介绍1、ApacheYarnYARN的基本思想是将资源管理和作业调度/监视的功能分解为单独的守护进程

一、Apache Yarn 、Twill和 Slider 的介绍

1、Apache Yarn

YARN的基本思想是将资源管理和作业调度/监视的功能分解为单独的守护进程。我们的想法是拥有一个全局ResourceManager(RM)和每个应用程序ApplicationMaster(AM)。应用程序可以是单个作业,也可以是作业的DAG。

ResourceManager和NodeManager构成了数据计算框架。ResourceManager是在系统中的所有应用程序之间仲裁资源的最终权限。NodeManager是每台机器框架代理,负责容器,监视其资源使用情况(CPU,内存,磁盘,网络)并将其报告给ResourceManager / Scheduler。

每个应用程序ApplicationMaster实际上是一个特定于框架的库,其任务是协调来自ResourceManager的资源,并与NodeManager一起执行和监视任务。
在这里插入图片描述
ResourceManager有两个主要组件:Scheduler和ApplicationsManager。

  • 调度程序负责根据熟悉的容量,队列等约束将资源分配给各种正在运行的应用程序。调度程序是纯调度程序,因为它不执行应用程序状态的监视或跟踪。此外,由于应用程序故障或硬件故障,它无法保证重启失败的任务。调度程序根据应用程序的资源需求执行其调度功能; 它是基于资源Container的抽象概念,它包含内存,cpu,磁盘,网络等元素。

  • 调度程序具有可插入策略,该策略负责在各种队列,应用程序等之间对集群资源进行分区。当前的调度程序(如CapacityScheduler和FairScheduler)将是插件的一些示例。

  • ApplicationsManager负责接受作业提交,协商第一个容器以执行特定于应用程序的

  • ApplicationMaster,并提供在失败时重新启动ApplicationMaster容器的服务。每个应用程序

  • ApplicationMaster负责从Scheduler协商适当的资源容器,跟踪其状态并监视进度。

YARN支持的概念,资源预留通过ReservationSystem,即允许用户在指定时间资源和时间的限制(例如,截止日期),以及后备资源的配置文件,以确保重要jobs.The可预见的执行组件ReservationSystem跟踪资源超时,执行预留的准入控制,并动态指示基础调度程序确保预留已满。

为了将YARN扩展到超过几千个节点,YARN 通过YARN Federation功能支持Federation的概念。联合允许透明地将多个纱线(子)群集连接在一起,并使它们看起来像一个大型群集。这可以用于实现更大规模,和/或允许多个独立群集一起用于非常大的工作,或者用于具有跨所有工作的容量的租户。

2、Apache Twill

Apache Twill极大地简化并减少了开发工作,使您能够通过YARN上的简单抽象层快速轻松地开发和管理分布式应用程序。YARN虽然最初是为MapReduce v2设计的,但可以用作通用的群集资源管理框架,可以在Hadoop®集群上运行几乎任何类型的应用程序。但是,凭借其强大的功能,YARN可以为开发人员带来复杂性。

相比之下,Twill的YARN抽象模型非常类似于Java线程模型,许多开发人员都熟悉它。此外,Twill还提供应用程序生命周期管理,服务发现,分布式流程协调以及故障恢复,这是许多分布式应用程序所需要的。

Apache Twill允许您使用更简单的编程模型开发,部署和管理分布式应用程序,具有丰富的内置功能,可解决常见的分布式应用程序问题。无论您是开发人员还是操作工程师,您都会发现Apache Twill可以帮助您大大减少在Hadoop®集群上开发和运行应用程序的工作量。

3、Apache Slider

Apache Slider是一个应用程序,用于在Apache Hadoop YARN集群上部署现有的分布式应用程序,监视它们并根据需要使它们变大或变小 – 即使在应用程序运行时也是如此。

应用程序可以停止然后启动; 部署的应用程序在YARN群集中的分布是持久的 – 允许在先前位置附近放置尽力而为的位置。记住先前数据放置的应用程序(例如HBase)可以显示此功能的快速启动时间。

YARN本身监视托管已部署应用程序部分的“YARN容器”的运行状况 – 通知Slider管理器应用程序容器故障。然后,Slider向YARN请求一个新的容器,Slider将失败的组件部署到该容器中。因此,Slider可以使托管应用程序的大小与指定的配置保持一致,即使面对集群中服务器的故障 – 以及应用程序本身的部分

一些功能是:

  • 允许用户在YARN群集中创建按需应用程序
  • 允许不同的用户/应用程序运行不同版本的应用程序。
  • 允许用户以不同方式配置不同的应用程序
  • 根据需要停止/重启应用程序实例
  • 根据需要扩展/收缩应用程序实例

Slider工具是Java命令行应用程序。
该工具将信息保存为HDFS中的JSON文档。
启动集群后,可以使用Slider命令使集群增长或缩小。也可以停止群集并稍后重新启动。

二、Apache Yarn 、Twill 和 Slider的对比

Apache Yarn Apache Twill Apache Slider
优点 1、完全定制开发 、灵活
2、排查问题简单、依赖组件少
1、实现Yarn的部署很简单
2、故障自动恢复
3、开发成本低;
4、支持动态伸缩接口
1、有各种状态指标
2、故障自动恢复
3、开发成本低;
4、支持动态伸缩接口
缺点 开发成本高 1、社区孵化的版本
2、使用的用户少
3、稳定性有待考量
1、角色间协调能力较差
2、不支持依赖启动的功能

选择使用 Apache Twill 还是使用 Apache Slider 的标准:具有核心功能、稳定、开发成本低

三、参考

  • https://slider.incubator.apache.org/

  • http://twill.apache.org/

  • https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html

今天的文章[Yarn基础]– Apache Yarn 、 Apache Twill 和 Apache Slider 的对比分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/60467.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注