Hadoop 3.0 介绍

官网:

http://hadoop.apache.org/docs/r3.0.1/

Apache Hadoop 3.0.1

Apache Hadoop 3.0.1与以前的主要发行版(hadoop-2.x)相比具有许多重要的增强功能。

这个版本通常是可用的(GA),这意味着它代表了API稳定性和质量的一点,我们认为这是生产就绪。

概观

鼓励用户阅读完整的发行说明。本页提供了主要更改的概述。

Java 7的最低Java版本增加到Java 8

所有Hadoop JAR现在都是针对Java 8的运行时版本编译的。仍然使用Java 7或更低版​​本的用户必须升级到Java 8

支持HDFS中的擦除编码

擦除编码是一种持久存储数据的方法,与复制相比,可显着节省空间。像Reed-Solomon10,4)这样的标准编码有1.4倍的空间开销,而标准HDFS复制的开销是3倍。

由于擦除编码在重建过程中会产生额外开销并且主要执行远程读取,因此传统上它被用于存储较冷,较不频繁访问的数据。部署此功能时,用户应考虑纠删编码的网络和CPU开销。

更多细节可在HDFS擦除编码文档中找到。

YARN时间轴服务v.2

我们正在介绍YARN时间轴服务主要修订的早期预览(alpha 2):v.2YARN时间轴服务v.2解决了两个主要挑战:提高时间轴服务的可伸缩性和可靠性,并通过引入流量和聚合来提高可用性。

提供YARN时间轴服务v.2 alpha 2,以便用户和开发人员可以对其进行测试,并提供反馈意见和建议,使其成为Timeline Service v.1.x的替代品。它只能用于测试能力。

YARN时间轴服务v.2文档中提供了更多详细信息。

Shell脚本重写

Hadoop shell脚本已被重写,以修复许多长期存在的错误并包含一些新功能。虽然人们已经注意到兼容性,但一些更改可能会破坏现有的安装。

发行说明中记录了不兼容的更改,并对HADOOP-9902进行了相关讨论。

更多细节可以在Unix Shell指南文档中找到。Unix Shell API文档也为高级用户感到高兴,该文档描述了许多新功能,特别是与可扩展性相关的功能。

阴影客户端罐

2.x版本中提供的hadoop-client Maven工件将Hadoop的传递依赖关系拉到Hadoop应用程序的类路径中。如果这些传递性依赖的版本与应用程序使用的版本发生冲突,则这可能会产生问题。

HADOOP-11804添加了新的hadoop-client-apihadoop-client-runtime构件,可将Hadoop的依赖关系映射到单个jar中。这可以避免将Hadoop的依赖性泄漏到应用程序的类路径中。

支持机会容器和分布式调度。

已经引入了ExecutionType的概念,从而应用程序现在可以请求执行类型为Opportunistic的容器。即使在调度时没有可用的资源,也可以调度此类型的容器以在NM处执行。在这种情况下,这些容器将在NM处排队,等待资源启动。机会容器的优先级低于默认保证容器的优先级,因此如果需要的话,可以抢占容器来为保证容器腾出空间。这应该会提高群集利用率。

机会容器默认由中央RM分配,但是也添加了支持以允许由作为AMRMProtocol拦截器实现的分布式调度器分配机会容器。

请参阅文档了解更多详情。

MapReduce任务级本机优化

MapReduce增加了对地图输出收集器本地实现的支持。对于洗牌密集型工作,这可能会导致30%或更多的性能提升。

有关更多详细信息,请参阅MAPREDUCE-2841的发行说明。

支持2个以上NameNode。

为单个活动NameNode和单个Standby NameNode提供的HDFS NameNode高可用性的初始实现。通过将编辑复制到三个JournalNodes的仲裁中,此架构可以容忍系统中任何一个节点的故障。

但是,一些部署需要更高的容错度。这是由这个新功能启用的,它允许用户运行多个备用NameNode。例如,通过配置三个NameNode和五个JournalNode,该集群可以容忍两个节点的故障,而不仅仅是一个。

HDFS高可用性文档已经更新了关于如何配置两个以上NameNodes指令。

多个服务的默认端口已被更改。

以前,多个Hadoop服务的默认端口位于Linux临时端口范围(32768-61000)内。这意味着在启动时,由于与另一个应用程序发生冲突,服务有时无法绑定到端口。

这些冲突的端口已被移出临时范围,影响了NameNodeSecondary NameNodeDataNodeKMS。我们的文档已进行了适当的更新,但请参阅HDFS-9427HADOOP-12811的发布说明以获取端口更改列表。

支持Microsoft Azure Data Lake和Aliyun Object Storage System文件系统连接器

Hadoop现在支持与Microsoft Azure Data LakeAliyun对象存储系统的集成,作为替代Hadoop兼容的文件系统。

内部datanode平衡器

一个DataNode管理多个磁盘。在正常写入操作期间,磁盘将被均匀地填满。但是,添加或替换磁盘可能会导致DataNode中出现明显偏差。这种情况不是由现有的HDFS平衡器处理的,该平衡器本身涉及到内部而不是内部的DN歪斜。

这种情况由新的DataNode内部平衡功能处理,该功能通过hdfs diskbalancer CLI 调用。有关更多信息,请参阅“ HDFS命令指南的磁盘平衡器部分。

重做守护进程和任务堆管理

Hadoop守护进程和MapReduce任务的堆管理进行了一系列更改。

HADOOP-10950引入了配置守护进程堆大小的新方法。值得注意的是,现在可以根据主机的内存大小自动调整,并且HADOOP_HEAPSIZE变量已被弃用。有关更多详细信息,请参阅HADOOP-10950的完整发行说明。

MAPREDUCE-5785简化了映射配置并减少了任务堆大小,因此不需要在任务配置和Java选项中指定所需的堆大小。已经指定的现有配置不受此更改的影响。有关更多详细信息,请参阅MAPREDUCE-5785的完整发行说明。

S3Guard:S3A文件系统客户端的一致性和元数据缓存

HADOOP-13345Amazon S3存储的S3A客户端增加了一项可选功能:可将DynamoDB表用作快速一致的文件和目录元数据存储。

有关更多详细信息,请参阅S3Guard

基于HDFS路由器的联合

基于HDFS路由器的联合会添加一个RPC路由层,提供多个HDFS命名空间的联合视图。这与现有ViewFsHDFS联合功能类似),不同之处在于安装表由服务器端由路由层而不是客户端进行管理。这简化了对现有HDFS客户端的联合集群的访问。

有关更多详细信息,请参阅HDFS-10467和基于HDFS路由器的联合文档

Capacity Scheduler队列配置的基于API的配置

容量调度程序的OrgQueue扩展提供了一种编程方式,通过提供用户可以调用的REST API来修改队列配置来更改配置。这使管理员可以在队列的administrators_queue ACL中自动执行队列配置管理。

有关更多信息,请参阅YARN-5734Capacity Scheduler文档

YARN资源类型

YARN资源模型已经推广到支持CPU和内存之外的用户定义的可数资源类型。例如,集群管理员可以定义诸如GPU,软件许可证或本地连接存储器之类的资源。YARN任务可以根据这些资源的可用性进行调度。

有关更多信息,请参阅YARN-3926YARN资源模型文档

入门

Hadoop文档包含您开始使用Hadoop所需的信息。从单节点安装程序开始,向您介绍如何设置单节点Hadoop安装。然后转到群集设置以了解如何设置多节点Hadoop安装。

单节点集群安装

http://hadoop.apache.org/docs/r3.0.1/hadoop-project-dist/hadoop-common/SingleCluster.html

集群安装

http://hadoop.apache.org/docs/r3.0.1/hadoop-project-dist/hadoop-common/ClusterSetup.html

猜你喜欢

转载自blog.csdn.net/WYpersist/article/details/80061063