该博客文章将介绍客户如何将集群和工作负载迁移到新的
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的速度提高10倍。在
YARN-6223 的保护下,对GPU的支持作为Hadoop 3.1的一部分发布。
Cloudera Manager本地支持GPU调度,甚至支持GPU设备自动发现的配置,从而使YARN配置对集群管理员而言非常友好。您可以在Cloudera Manager
文档中 找到有关如何配置GPU调度的详细信息。
与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
分配资源 。
在
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中进行搜索更快。
对于具有大量YARN聚合日志的集群,将它们组合到Hadoop归档中以减少小文件的数量可能会有所帮助。这样,对NameNode的压力也减少了。作业历史记录服务器和yarn logs命令仍然可以读取Hadoop归档中的聚合日志。CDH和HDP客户都将获得在Hadoop 2.8中实现的
Mapreduce
日志存档工具 ,特别是
MAPREDUCE-6415 。
有关Hadoop存档的更多信息,请参见《
Hadoop
归档
指南》 。
用户友好的YARN WEB UI2 现在是默认的用户界面。例如,UI2上的“集群概述”看起来像这样。
由
于基本产品可以是CDH或HDP的多个版本,因此将它们与Hadoop发行版以及可升级到CDP DC 7.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/