CDP-DC7.1中的 YARN:新增功能和升级方法

2020-07-16 15:16:46 浏览数 (1)

背景

该博客文章将介绍客户如何将集群和工作负载迁移到新的CDP-DC7.1,以及此新版本的重点。

CDP DC 7.1是Cloudera Data Platform的本地部署版本。

该新产品结合了Cloudera Distribution Hadoop和Hortonworks Data Platform Enterprise(分别为CDH和HDP以后)的最佳功能,以及堆栈中的新功能和增强功能。此统一分发是可扩展和可定制的平台,您可以在其中安全地运行多种类型的工作负载。有关CDP DC 7.1的完整视图,请参阅文档 。我们将重点介绍此版本随附的YARN的新功能,还将概述如何从CDH / HDP版本升级到CDP DC 7.1。

亮点

容量计划程序作为默认计划程序

从YARN角度来看,最重要的更改之一:在CDP DC 7.1中,Capacity Scheduler是默认且唯一受支持的调度程序。如果使用的是Fair Scheduler,则必须将工作负载迁移到Capacity Scheduler。

您可以阅读此参考资料,以对 度程序 进行比较。

使用容量计划程序的好处

以下是使用Capacity Scheduler时的一些好处:

• 与Ranger集成

• 节点分区/标签

• 改进了在云原生环境中的调度计划,例如更好的bin打包,自动扩展支持等。

• 调度吞吐量的改进

• 全局调度框架

• 一次查找多个节点

从CDP DC 7.1版本开始,Cloudera提供了一种转换工具,称为FS2CS Conversion Utility。使用此工具,您可以将Fair Scheduler配置转换为等效的Capacity Scheduler配置。

我们期待着发布另一篇博客文章,讨论有关如何从Fair Scheduler迁移到Capacity Scheduler的详细信息,以及对Scheduler的深入功能比较。

GPU调度支持

对于许多大数据应用而言,GPU变得越来越重要。深度学习/机器学习、数据分析、基因组测序都具有依赖GPU来实现更高性能的应用程序。在许多情况下,GPU的速度提高10倍。在YARN-6223 的保护下,对GPU的支持作为Hadoop 3.1的一部分发布。

Cloudera Manager本地支持GPU调度,甚至支持GPU设备自动发现的配置,从而使YARN配置对集群管理员而言非常友好。您可以在Cloudera Manager 文档中 找到有关如何配置GPU调度的详细信息。

FPGA调度支持

与GPU相似,FPGA具有广泛的用例。FPGA的特定应用包括数字信号处理、生物信息学、设备控制器、医学成像、计算机硬件仿真、语音识别、密码学等等。对FPGA的支持是作为Hadoop 3.1的一部分在YARN-5983 下发布的

Cloudera Manager本身也支持FPGA调度,有关如何使用Cloudera Manager配置YARN的详细信息,请参见此页面

队列管理器

YARN队列管理器是用于管理Capacity Scheduler配置的图形用户界面。使用YARN Queue Manager UI,可以设置调度程序级别的属性和队列级别的属性。您还可以使用YARN队列管理器UI查看、排序、搜索和过滤队列。

队列管理器的外观如下:

有关队列管理器的更多信息,请参见使用 YARN 队列管理器 UI 分配资源

Docker on YARN

YARN-3611 支持下,Hadoop 3.1对使用Docker的YARN上的容器化应用程序提供了支持。

Docker容器化提供了隔离,并使您能够并行运行同一应用程序的多个版本。

有关此功能的概述,请参阅Cloudera Runtime官方文档Docker 支持 YARN

Cloudera Manager具有对YARN Docker容器的原生支持,该支持在文档 中有详细介绍。为了帮助您进行故障排除,我们准备了一个详细页面 ,其中讨论了常见的配置和运行时错误。

有很多使用YARN的Docker容器的用例,例如,打包Spark及其依赖关系,您可以利用容器,甚至可以非常轻松地共享这些版本的框架及其依赖关系。请参考我们的博客文章,以更深入地了解Spark和Docker作为YARN Docker 的用例: CDP DataCenter 版本的 Apache YARN 之上,在 Docker 上引入 Docker 上的 Apache Spark

另一个示例是在YARN上运行ML训练工作负载时(例如Tensorflow / PyTorch),它不再需要在物理节点中安装诸如Python虚拟环境,各种Python程序包之类的依赖项,或诸如Tensorflow或PyTorch之类的ML引擎。相反,您只需将它们打包在Docker映像中,以便Apache Submarine可以在YARN的Docker上运行Tensorflow / Pytorch。请参阅 YARN 上运行 Apache Submarine

日志改进

日志汇总

Yarn 日志聚合 功能可以让您的任何应用程序的本地日志文件移动到HDFS或基于云的存储上,这取决于您的集群配置。

YARN可以将本地日志安全地移动到HDFS或基于云的存储(例如AWS)上。这样可以使日志的存储时间比在本地磁盘上存储的时间长得多,可以更快地搜索特定的日志文件,还可以选择处理压缩。

滚动日志聚合

在基本日志聚合之上,此版本现在支持滚动日志聚合

此功能负责按设置的时间间隔聚合日志。该时间以秒为单位,可由用户配置。滚动日志聚合主要用于运行时间较长的应用程序,例如Spark流作业。

我们期待发布另一篇博客文章,讨论CDP DC上YARN的日志聚合的详细信息。

默认情况下,日志聚合支持两个文件控制器:TFile和IFile 。您还可以添加自己的自定义文件控制器。使用CDP DC 7.1,支持将IFile(索引文件)作为默认日志聚合文件控制器。IFile是比TFile更新的文件控制器。在IFile中,对文件建立索引,因此在聚合日志文件中进行搜索比在常规TFile中进行搜索更快。

Hadoop归档

对于具有大量YARN聚合日志的集群,将它们组合到Hadoop归档中以减少小文件的数量可能会有所帮助。这样,对NameNode的压力也减少了。作业历史记录服务器和yarn logs命令仍然可以读取Hadoop归档中的聚合日志。CDH和HDP客户都将获得在Hadoop 2.8中实现的Mapreduce 日志存档工具 ,特别是MAPREDUCE-6415

有关Hadoop存档的更多信息,请参见《Hadoop 归档 指南》

新的YARN UI v2

用户友好的YARN WEB UI2 现在是默认的用户界面。例如,UI2上的“集群概述”看起来像这样。

升级概述

由于基本产品可以是CDH或HDP的多个版本,因此将它们与Hadoop发行版以及可升级到CDP DC 7.1一起在表中列出更加容易。

产品

版本

Hadoop版本

升级到CDP DC 7.1

CDH

5.13.x – 5.16.x

2.6.0

直接使用Cloudera Manager升级

CDH

6.0以上

3.0.0

不支持

CDH

其他版本

不适用

临时升级步骤/手动将数据复制到CDP集群

HDP

2.6.5

2.7.3

支持临时步骤

HDP

3.x

3.1.1

不支持

如果您想访问有关受支持版本的更多详细信息,请参阅受支持的升级路径 。

总结

正如详细讨论的那样,从CDH或HDP升级是利用CDP DC 7.1的新功能的一种前进方式。

借助这个新平台,用户将使用Capacity Scheduler作为默认调度程序,并具有对GPU / FPGA调度和Docker容器的本机支持的全部好处,所有这些功能均已集成到Cloudera Manager中。您还将获得Queue Manager,这是我们用于管理YARN调度程序队列的全新工具。

谈到用户界面,YARN Web UIv2默认情况下也集成到Cloudera Manager中。

我们还讨论了用户可以利用的一些日志记录改进。

致谢

我要感谢Wilfred Spiegelenburg 和Sunil Govindan 进行的计划和集思广益会议,内容涉及如何处理升级的整个主题和可测试性观点。

我还要感谢Budapest Yarn小组的不懈努力,使整个故事得以实现。

特别感谢Wangda Tan , Wilfred Spiegelenburg , and Rudolf Reti 审查和分享有用的意见。

非常感谢Rahul Buddhisagar 和Paolo Milani 帮助解决了Cloudera Manager相关问题和代码审查。

参考资料

https://blog.cloudera.com/upgrading-clusters-workloads-hadoop-2-hadoop-3/

https://blog.cloudera.com/hadoop-3-blog-series-recap/

https://blog.cloudera.com/introducing-apache-spark-on-docker-on-top-of-apache-yarn-with-cdp-datacenter-release/

原文链接:https://blog.cloudera.com/apache-hadoop-yarn-in-cdp-data-center-7-1-whats-new-and-how-to-upgrade/

作者:Szilard Nemeth

0 人点赞