hadoop3.0可用【 GA】版发布与alpha1版比较有哪些不同

本文涉及的产品
全球加速 GA,每月750个小时 15CU
简介: hadoop3.0可用【 GA】版发布与alpha1版比较有哪些不同

hadoop GA可用版发布,与alpha1增加了不少功能,这里摘出与alpha1功能上不同的地方。如下:



Shaded client jars



解决了依赖冲突问题

hadoop2.x中所有依赖都添加到应用程序环境变量,这样有可能造成应用程序依赖与hadoop依赖冲突。HADOOP-11804添加了新的 hadoop-client-api 和hadoop-client-runtime artifacts,这样避免了hadoop依赖到应用程序的classpath.这可能跟我们以前经常遇到的多个重复的包,有关系。


支持 Opportunistic 容器和分布式调度



引入了一个概念ExecutionType。应用程序需要Opportunistic类型的可执行的containers.这种类型的容器,可以在namenode上执行,甚至在调度没有资源的情况下。这种情况下,这些容器containers,将会在namenode排队,等待资源启动。Opportunistic 容器比默认的Guaranteed类型容器优先级低,因此如果需要可以抢占资源,为Guaranteed容器腾出空间。这将提高集群利用率。


S3Guard:为S3 客户端文件系统提供一致性和缓存Metadata


HADOOP-13345为亚马逊存储(Amazon S3 storage)S3A 客户端添加了一个可选的feature:有能力使用DynamoDB表作为一个快速的和一致的存储文件和目录元数据


HDFS基于路由器联盟(Router-Based Federation)


HDFS路由器联盟添加了RPC 路由层,提供多个HDFS命名空间namespaces的联合视图。这个与 ViewFs和 HDFS Federation类似。这里面mount table由服务端管理,而不是有客户端管理,这简化了HDFS 客户端对联盟集群的访问。



基于API配置Capacity 调度


OrgQueue扩展了capacity 调度,提供了可编程的方式来配置,可以调用 REST API 来修改队列配置。


YARN资源类型


YARN 的资源类型已经扩展到支持用户自定义类型,不止是 CPU 和内存。例如用户可以自定义的类型如GPUs,软件许可证书或则本地附加存储( locally-attached storage),Yarn的任务可以基于这些资源调度。



英文链接:http://hadoop.apache.org/docs/r3.0.0/

对于alpha1不了解的,可参考下面

#############################################

补充:


Apache Hadoop 3.0.0-alpha1版发布做了哪些改进



Apache Hadoop 3.0.0-alpha1包含很多重要的改进在hadoop2.x的基础上。

这个是一个alpha 版,通过开发者和使用者帮助测试和搜集反馈。API的稳定性和质量还不能保证。


概述


提倡阅读全部发布说明,这里对更改内容做一个概述。


1.Java最低版本要求从Java7更改为Java8

所有的Hadoop JARs针对运行时版本的Java 8被编译。仍在使用Java 7或更低版本的用户必须升级至Java 8。



2.支持hdfs erasure encoding

与副本相比纠删码是一种更节省空间的数据持久化存储方法。编码标准如Reed Solomon(10,4)有1.4倍的空间开销.与HDFS副本相比则是3倍空间开销。

因为纠删码主要的额外开销是在重建和执行远程读,它传统用于存储冷数据,即不经常访问的数据。当部署这个新特性时用户应该考虑纠删码的网络和CPU开销。

更多细节参考 HDFS Erasure Coding (http://hadoop.apache.org/docs/r3 ... SErasureCoding.html)文档.



3、YARN Timeline Service v.2

我们引入YARN 的alpha 1版,. YARN Timeline Service v.2 地址两大挑战:提高时间轴的可扩展性和可靠性,并通过引入流量和聚合增强可用性.

————————————————

YARN Timeline Service v.2 alpha 1让用户和开发者测试,反馈和建议为替换 Timeline Service v.1.x做准备。它应用于测试容量。最重要的是,没有启用安全性。不设置或则使用Timeline Service v.2 ,直到安全是有效的如果安全是一个关键的要求。

更多细节参考 YARN Timeline Service v.2 【http://hadoop.apache.org/docs/r3.0.0-alpha1/hadoop-yarn/hadoop-yarn-site/TimelineServiceV2.html】文档.


4、Shell 脚本重写

Hadoop的shell脚本已被重写,解决许多长期存在的漏洞,包括一些新的功能。尽管一些关键点保持兼容性,但是一些更改可能会破坏现有的安装。

不兼容的改变在发布说明中,相关的讨论在 HADOOP-9902(https://issues.apache.org/jira/browse/HADOOP-9902

更多内容在 Unix Shell Guide文档。也可看 Unix Shell API文档,它描述了许多新的功能,特别是与可扩展性有关的功能。




5、MR任务级本地优化

MR任务级本地优化。MapReduce添加了Map输出collector的本地实现。对于shuffle密集型作业,这将会有30%以上的性能提升。

更多细节: MAPREDUCE-2841(https://issues.apache.org/jira/browse/MAPREDUCE-2841


6、支持2个及以上 NameNodes.

允许用户运行多个Standby NN,更高的容错性。比如,通过配置3个NN和5个JournalNodes,集群能够容忍2个NN宕机而不是之前的一个。

刚开始HDFS NameNode高可用提供了一个namenode,和Standby namenode.通过规定的三个JournalNodes,复制edits 。这种架构能够容忍系统中的任何一个节点的失败。

然而,一些部署需要更高程度的容错性。这是通过这一新功能,它允许用户运行多个备用节点【Standby namenode】。例如,通过配置三个NameNodes和五个journalnodes,集群能够容忍两节点而不是一个失败。

高可用文档(http://hadoop.apache.org/docs/r3.0.0-alpha1/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html)已经更新,说明如何配置多个namenode。




7、更改多个服务的默认端口。

此前,多个Hadoop服务的默认端口是在Linux的临时端口范围(32768-61000)。这意味着在启动时,服务有时会失败,绑定到端口,由于与另一个应用程序的冲突。

这个冲突的端口已经移出这个范围,影响 NameNode, Secondary NameNode, DataNode, 和KMS。文档已更新

发布说明地址https://issues.apache.org/jira/browse/HDFS-9427

更改端口列表地址https://issues.apache.org/jira/browse/HADOOP-12811


8.支持微软Azure 数据Lake 系统连接器

hadoop支持整合软Azure 数据Lake作为一种替代Hadoop兼容的文件系统。


9、Intra-datanode 平衡器

一个DataNode管理多个磁盘.


10.改编守护进程和任务堆管理

hadoop守护进程及MapReduce任务一系列的heap管理的改变。

HADOOP-10950(https://issues.apache.org/jira/browse/HADOOP-10950) 介绍了配置守护进程heap大小配置方法

值得注意的是基于主机内存调整成为可能,和 HADOOP_HEAPSIZE 值被弃用。更多细节查看发布说明 HADOOP-10950

MAPREDUCE-5785(https://issues.apache.org/jira/browse/MAPREDUCE-5785)简化了map和reduce任务的heap大小的配置,因此理想的heap的大小,不在需要任务的指定配置和作为Java选项。已有的配置不受影响。更多谢姐可查看MAPREDUCE


目录
相关文章
|
8月前
|
分布式计算 资源调度 Hadoop
Hadoop节点资源扩展环境部署
【4月更文挑战第16天】扩展Hadoop集群涉及多个步骤:准备新节点,配置静态IP,安装并配置Hadoop,将新节点添加到集群,验证测试,及优化调整。确保符合硬件需求,更新集群节点列表,执行`hdfs dfsadmin -refreshNodes`命令,检查新节点状态,并依据测试结果优化性能。注意不同环境可能需要调整具体步骤,建议参照官方文档并在测试环境中预演。
67 4
|
分布式计算 资源调度 Hadoop
十二、Spark的安装与部署详情(Local模式,Standalone模式,Spank on YARN模式)
十二、Spark的安装与部署详情(Local模式,Standalone模式,Spank on YARN模式)
1028 0
十二、Spark的安装与部署详情(Local模式,Standalone模式,Spank on YARN模式)
|
8月前
|
机器学习/深度学习 SQL 分布式计算
Hadoop2.6(NN/RM)高可用集群安装与部署
Hadoop2.6(NN/RM)高可用集群安装与部署
|
8月前
|
分布式计算 Hadoop 关系型数据库
Hadoop学习笔记(HDP)-Part.10 创建集群
01 关于HDP 02 核心组件原理 03 资源规划 04 基础环境配置 05 Yum源配置 06 安装OracleJDK 07 安装MySQL 08 部署Ambari集群 09 安装OpenLDAP 10 创建集群 11 安装Kerberos 12 安装HDFS 13 安装Ranger 14 安装YARN+MR 15 安装HIVE 16 安装HBase 17 安装Spark2 18 安装Flink 19 安装Kafka 20 安装Flume
190 1
Hadoop学习笔记(HDP)-Part.10 创建集群
|
监控 应用服务中间件
如下请问EDAS的这个问题怎么解决? 应用id:2b0e6935-47fb-40ec-a11d-7dac320aecc1 集群中的节点内存是足够的,部署跑不起来 可以帮忙看看吗,以前集群下应用发布都是正常的,最近集群下应用部署基本都报错跑不起来,提示节点不可用
如下请问EDAS的这个问题怎么解决? 应用id:2b0e6935-47fb-40ec-a11d-7dac320aecc1 集群中的节点内存是足够的,部署跑不起来 可以帮忙看看吗,以前集群下应用发布都是正常的,最近集群下应用部署基本都报错跑不起来,提示节点不可用
143 2
|
8月前
|
消息中间件 关系型数据库 MySQL
Hadoop学习笔记(HDP)-Part.03 资源规划
01 关于HDP 02 核心组件原理 03 资源规划 04 基础环境配置 05 Yum源配置 06 安装OracleJDK 07 安装MySQL 08 部署Ambari集群 09 安装OpenLDAP 10 创建集群 11 安装Kerberos 12 安装HDFS 13 安装Ranger 14 安装YARN+MR 15 安装HIVE 16 安装HBase 17 安装Spark2 18 安装Flink 19 安装Kafka 20 安装Flume
192 0
|
Java 测试技术 Apache
软件版本GA,RC,alpha,beta,Build 含义
软件版本GA,RC,alpha,beta,Build 含义
125 0
|
机器学习/深度学习 存储 分布式计算
Apache Hadoop 3.0.0-alpha1版发布做了哪些改进
Apache Hadoop 3.0.0-alpha1版发布做了哪些改进
184 0
|
资源调度 分布式计算 Hadoop
hadoop3.0 Yarn支持网络资源:network原理设计文档说明【中文】
hadoop3.0 Yarn支持网络资源:network原理设计文档说明【中文】
150 0
|
分布式计算 Kubernetes Hadoop
迁移传统应用到Kubernetes步骤详解 – 以Hadoop YARN为例
前言 本文已归档到 kubernetes-handbook 【第三章用户指南】的【在Kubernetes中开发部署应用】小节中,一切更新以 GitHub 为准。 本文档不是说明如何在 kubernetes 中开发和部署应用程序,如果您想要直接开发应用程序在 kubernetes 中运行可以参考 适用于kubernetes的应用开发部署流程。
1540 0

相关实验场景

更多