官网:
http://hadoop.apache.org/docs/r3.0.1/
Apache Hadoop 3.0.1与以前的主要发行版(hadoop-2.x)相比具有许多重要的增强功能。
这个版本通常是可用的(GA),这意味着它代表了API稳定性和质量的一点,我们认为这是生产就绪。
鼓励用户阅读完整的发行说明。本页提供了主要更改的概述。
所有Hadoop JAR现在都是针对Java 8的运行时版本编译的。仍然使用Java 7或更低版本的用户必须升级到Java 8。
擦除编码是一种持久存储数据的方法,与复制相比,可显着节省空间。像Reed-Solomon(10,4)这样的标准编码有1.4倍的空间开销,而标准HDFS复制的开销是3倍。
由于擦除编码在重建过程中会产生额外开销并且主要执行远程读取,因此传统上它被用于存储较冷,较不频繁访问的数据。部署此功能时,用户应考虑纠删编码的网络和CPU开销。
更多细节可在HDFS擦除编码文档中找到。
我们正在介绍YARN时间轴服务主要修订的早期预览(alpha 2):v.2。YARN时间轴服务v.2解决了两个主要挑战:提高时间轴服务的可伸缩性和可靠性,并通过引入流量和聚合来提高可用性。
提供YARN时间轴服务v.2 alpha 2,以便用户和开发人员可以对其进行测试,并提供反馈意见和建议,使其成为Timeline Service v.1.x的替代品。它只能用于测试能力。
YARN时间轴服务v.2文档中提供了更多详细信息。
Hadoop shell脚本已被重写,以修复许多长期存在的错误并包含一些新功能。虽然人们已经注意到兼容性,但一些更改可能会破坏现有的安装。
发行说明中记录了不兼容的更改,并对HADOOP-9902进行了相关讨论。
更多细节可以在Unix Shell指南文档中找到。Unix Shell API文档也为高级用户感到高兴,该文档描述了许多新功能,特别是与可扩展性相关的功能。
2.x版本中提供的hadoop-client Maven工件将Hadoop的传递依赖关系拉到Hadoop应用程序的类路径中。如果这些传递性依赖的版本与应用程序使用的版本发生冲突,则这可能会产生问题。
HADOOP-11804添加了新的hadoop-client-api和hadoop-client-runtime构件,可将Hadoop的依赖关系映射到单个jar中。这可以避免将Hadoop的依赖性泄漏到应用程序的类路径中。
已经引入了ExecutionType的概念,从而应用程序现在可以请求执行类型为Opportunistic的容器。即使在调度时没有可用的资源,也可以调度此类型的容器以在NM处执行。在这种情况下,这些容器将在NM处排队,等待资源启动。机会容器的优先级低于默认保证容器的优先级,因此如果需要的话,可以抢占容器来为保证容器腾出空间。这应该会提高群集利用率。
机会容器默认由中央RM分配,但是也添加了支持以允许由作为AMRMProtocol拦截器实现的分布式调度器分配机会容器。
请参阅文档了解更多详情。
MapReduce增加了对地图输出收集器本地实现的支持。对于洗牌密集型工作,这可能会导致30%或更多的性能提升。
有关更多详细信息,请参阅MAPREDUCE-2841的发行说明。
为单个活动NameNode和单个Standby NameNode提供的HDFS NameNode高可用性的初始实现。通过将编辑复制到三个JournalNodes的仲裁中,此架构可以容忍系统中任何一个节点的故障。
但是,一些部署需要更高的容错度。这是由这个新功能启用的,它允许用户运行多个备用NameNode。例如,通过配置三个NameNode和五个JournalNode,该集群可以容忍两个节点的故障,而不仅仅是一个。
在HDFS高可用性文档已经更新了关于如何配置两个以上NameNodes指令。
以前,多个Hadoop服务的默认端口位于Linux临时端口范围(32768-61000)内。这意味着在启动时,由于与另一个应用程序发生冲突,服务有时无法绑定到端口。
这些冲突的端口已被移出临时范围,影响了NameNode,Secondary NameNode,DataNode和KMS。我们的文档已进行了适当的更新,但请参阅HDFS-9427和HADOOP-12811的发布说明以获取端口更改列表。
Hadoop现在支持与Microsoft Azure Data Lake和Aliyun对象存储系统的集成,作为替代Hadoop兼容的文件系统。
一个DataNode管理多个磁盘。在正常写入操作期间,磁盘将被均匀地填满。但是,添加或替换磁盘可能会导致DataNode中出现明显偏差。这种情况不是由现有的HDFS平衡器处理的,该平衡器本身涉及到内部而不是内部的DN歪斜。
这种情况由新的DataNode内部平衡功能处理,该功能通过hdfs diskbalancer CLI 调用。有关更多信息,请参阅“ HDFS命令指南”中的磁盘平衡器部分。
对Hadoop守护进程和MapReduce任务的堆管理进行了一系列更改。
HADOOP-10950引入了配置守护进程堆大小的新方法。值得注意的是,现在可以根据主机的内存大小自动调整,并且HADOOP_HEAPSIZE变量已被弃用。有关更多详细信息,请参阅HADOOP-10950的完整发行说明。
MAPREDUCE-5785简化了映射配置并减少了任务堆大小,因此不需要在任务配置和Java选项中指定所需的堆大小。已经指定的现有配置不受此更改的影响。有关更多详细信息,请参阅MAPREDUCE-5785的完整发行说明。
HADOOP-13345为Amazon S3存储的S3A客户端增加了一项可选功能:可将DynamoDB表用作快速一致的文件和目录元数据存储。
有关更多详细信息,请参阅S3Guard。
基于HDFS路由器的联合会添加一个RPC路由层,提供多个HDFS命名空间的联合视图。这与现有ViewFs和HDFS联合功能类似),不同之处在于安装表由服务器端由路由层而不是客户端进行管理。这简化了对现有HDFS客户端的联合集群的访问。
有关更多详细信息,请参阅HDFS-10467和基于HDFS路由器的联合文档。
容量调度程序的OrgQueue扩展提供了一种编程方式,通过提供用户可以调用的REST API来修改队列配置来更改配置。这使管理员可以在队列的administrators_queue ACL中自动执行队列配置管理。
有关更多信息,请参阅YARN-5734和Capacity Scheduler文档。
YARN资源模型已经推广到支持CPU和内存之外的用户定义的可数资源类型。例如,集群管理员可以定义诸如GPU,软件许可证或本地连接存储器之类的资源。YARN任务可以根据这些资源的可用性进行调度。
有关更多信息,请参阅YARN-3926和YARN资源模型文档。
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