前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hadoop3的新增功能介绍

Hadoop3的新增功能介绍

作者头像
加米谷大数据
发布2020-06-02 16:14:19
9940
发布2020-06-02 16:14:19
举报
文章被收录于专栏:加米谷大数据加米谷大数据

Hadoop 3.x版本是Hadoop版本中的下一个重要里程碑。关于Hadoop 3.x在Hadoop 2.x基础上增强了哪些功能,很多人都在考虑这个问题。因此,在本文中,我们将介绍Hadoop3中的新增功能以及它与旧版本的区别。

Hadoop 3的新增功能是什么?探索独特的Hadoop 3功能

Hadoop 3的新增功能?

以下是Hadoop3中进行的10项更改,这些更改使其独特且快速。看看Hadoop 3.x的新增功能:

1、Hadoop3.0支持的最低Java版本是JDK 8.0

他们已经使用Java 8运行时版本编译了所有Hadoop jar文件。用户现在必须安装Java8才能使用Hadoop3.0。具有JDK7的用户必须将其升级到JDK8。

2、HDFS支持擦除编码

Hadoop3.x使用擦除编码来提供容错能力。Hadoop2.x使用复制技术来提供相同级别的容错能力。让我们探讨两者之间的区别。

首先,我们将研究复制。让我们采用默认的复制因子3。在这种情况下,对于6个块,我们必须总共存储6*3,即18个块。对于每个复制的块,存储开销为100%。因此,在我们的情况下,存储开销将为200%。

让我们看看擦除编码中会发生什么。对于6个块,将计算3个奇偶校验块。我们称此过程为编码。现在,每当一个块丢失或损坏时,就会从剩余的块和奇偶校验块中进行计算。我们称此过程为解码。在这种情况下,我们总共存储了9个块,其中6个块占了50%的存储开销。因此,我们可以用更少的存储空间获得相同数量的容错能力。但是,在CPU和网络方面始终存在编码和解码过程的开销。因此,它用于很少访问的数据。

3、YARN时间轴服务v.2

Yarn时间线服务是Hadoop3中的新增功能。时间线服务器负责存储和检索应用程序的当前.和历史信息。此信息有两种类型:

已完成申请的一般信息

  • 队列名称
  • 用户信息
  • 每个应用程序的尝试次数
  • 有关每次尝试运行的容器的信息
  • 由ResourceManager存储的有关已完成应用程序的通用数据,可通过Web UI访问。

每个框架有关正在运行和已完成的应用程序的信息

  • 地图任务数
  • 减少任务数
  • Counters
  • 应用程序开发人员通过Timeline客户端发布到TimeLine Server的信息

REST API会查询此数据,以按应用程序或框架特定的UI进行呈现。

TimeLine服务器v.2解决了v.1版中的主要缺陷。问题之一是可伸缩性。TimeLine服 务器v.1具有读取器/写入器和存储的单个实例。它不能扩展到超过几个节点。而在版本2中,时间轴服务器具有分布式写入器体系结构和可扩展的后端存储。它将数据的收集(写入)与数据的提供(读取)分开。此外,每个YARN应用程序使用一个收集器。它具有一个作为独立实例的读取器,该读取器通过RESTAPI服务器查询请求。时间轴服务器v.2使用HBase进行存储,可以将其扩展到巨大的大小,从而为读取和写入提供了良好的响应时间。

4、支持机会容器和分布式计划

Hadoop 3引入了执行类型的概念。如果目前没有可用资源,则这些容器将在NodeManager中等待。机会容器的优先级低于保证容器。如果假设有保证的容器到达机会容器执行的中间,则随后将被抢占。这恰好为保证容器腾出了空间。

5、支持两个以上的NameNode

到目前为止,Hadoop支持单个活动NameNode和单个备用NameNode。将编辑复制到三个日志节点后,此体系结构允许一个NameNode发生故障。

但是某些情况需要高度的容错能力。通过配置五个日记帐节点,我们可以拥有三NameNodes的系统。这样的系统将容忍两个NameNode的故障。因此,通过引入对两个以上NameNode的支持,Hadoop3.0使系统具有更高的可用性。

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

在Hadoop3.0之前,许多Hadoop服务的默认端口在Linux临时端口范围(32768一61000)中。因此,很多时候这些服务在启动时将无法绑定。因为它们会与其他应用程序冲突。.他们已将这些服务的默认端口移出了临时范围。服务包括NameNode, Secondary NameNode,DataNode和KeyManagementServer。

7、Intra一DataNode平衡器

DataNode管理许多磁盘。在写操作期间,这些磁盘被均匀填充。但是,当我们添加或删除磁盘时,会导致严重的偏差。在HDFS平衡器地址间数据偏斜,而不是帧内节点。

节点内平衡器解决了这种情况。CLI 一 hdfs diskbalancer调用此平衡器。

8、重做守护程序和任务堆管理

守护程序的堆管理和Map一Reduce任务有很多更改:

有新的方法可以配置守护程序堆大小。系统根据主机的内存自动调整。HADOOP_ HEAPSIZE变 量不再使用。取而代之的是我们有HEAP_ MAX_ SIZE和HEAP_ _MIN_ SIZE变量。此外,他们还删除了内部变量JAVA_ HEAP_ SIZE。他们还删除了默认堆大小,该默认堆大小允许JVM自动调整。全局和守护程序堆大小的所有变量都支持单位。如果该变量只是一个数字,则它期望大小以兆字节为单位。另外,如果要启用旧的默认值,请在hadoop一env.sh中配置HADOOP_ HEAPSIZE_ MAX。

如果mapreduce.map/ reduce.memory.mb的值设置为默认值一1。然后,它将自动从为mapreduce.map/reduce.java.opts指定的Xmx变量中推断出值。Xmx就是堆大小值系统属性。这种反向也是可能的。假设未为mapreduce.map/reduce.java.opts键指定Xmx值。系统从mapredcue.map/reduce.memory.mb键获得其值。如果我们不指定任何值,则默认值为1024MB。对于明确指定此值的配置和作业代码,将不受影响。

9、纱线资源模型的概括

他们已经对Yarn资源模型进行了概括,以包含除CPU和内存以外的用户定义资源。这些用户定义的资源可以是软件许可证,GPU或本地连接的存储。纱线任务是根据这些资源安排的。

我们可以扩展Yarn资源模型以包含任意“可数”资源。可计数的资源是由容器消耗的资源,系统在完成后将其释放。CPU和内存都是可计数的资源。同样,GPU或图形处理单元以及软件许可证也是可数的资源。默认情况下,Yarn跟踪每个节点,应用程序和队列的CPU和内存。纱线可以扩展以跟踪其他用户定义的可数资源,例如GPU和软件许可证。GPU与容器的集成增强了数据科学和AI用例的性能。

10、S3A客户端的一致性和元数据缓存

现在的S3A客户端具有以快速且一致的方式存储文件和目录的元数据的功能。它通过使用.DynamoDB表执行此操作。我们可以将此新功能称为S3GUARD。它缓存目录信息,以便S3Aclient可以更快地查找。此外,它还可以恢复S3列表操作和对象状态之间的不一致。使用S3GUARD创建文件后,我们总能找到它。S3GUARD是实验性的,我们可以认为它是不稳定的。

我们探索了Hadoop 3的许多新功能,这些功能使其变得独特且受欢迎。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 加米谷大数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Hadoop 3的新增功能?
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档