Hadoop 3相对于hadoop 2的新特性

相对于之前主要生产发布版本Hadoop 2,Apache Hadoop 3整合许多重要的增强功能。 Hadoop 3是一个可用版本,提供了稳定性和高质量的API,可以用于实际的产品开发。下面简要介绍一下Hadoop3的主要变化。

最低Java版本要求从Java7变为Java8

所有Hadoop的jar都是基于Java 8运行是版本进行编译执行的,仍在使用Java 7或更低Java版本的用户需要升级到Java 8。

HDFS支持纠删码(erasure coding)

纠删码是一种比副本存储更节省存储空间的数据持久化存储方法。比如Reed-Solomon(10,4)标准编码技术只需要1.4倍的空间开销,而标准的HDFS副本技术则需要3倍的空间开销。由于纠删码额外开销主要在于重建和远程读写,它通常用来存储不经常使用的数据(冷数据)。另外,在使用这个新特性时,用户还需要考虑网络和CPU开销。

YARN时间线服务 v.2(YARN Timeline Service v.2)

YARN Timeline Service v.2用来应对两个主要挑战:(1)提高时间线服务的可扩展性、可靠性,(2)通过引入流(flow)和聚合(aggregation)来增强可用性。为了替代Timeline Service v.1.x,YARN Timeline Service v.2 alpha 2被提出来,这样用户和开发者就可以进行测试,并提供反馈和建议,不过YARN Timeline Service v.2还只能用在测试容器中。

重写Shell脚本

Hadoop的shell脚本被重写,修补了许多长期存在的bug,并增加了一些新的特性。

覆盖客户端的jar(Shaded client jars)

在2.x版本中,hadoop-client Maven artifact配置将会拉取hadoop的传递依赖到hadoop应用程序的环境变量,这回带来传递依赖的版本和应用程序的版本相冲突的问题。

HADOOP-11804 添加新 hadoop-client-api和hadoop-client-runtime artifcat,将hadoop的依赖隔离在一个单一Jar包中,也就避免hadoop依赖渗透到应用程序的类路径中。

支持Opportunistic Containers和Distributed Scheduling

ExecutionType概念被引入,这样一来,应用能够通过Opportunistic的一个执行类型来请求容器。即使在调度时,没有可用的资源,这种类型的容器也会分发给NM中执行程序。在这种情况下,容器将被放入NM的队列中,等待可用资源,以便执行。Opportunistic container优先级要比默认Guaranteedcontainer低,在需要的情况下,其资源会被抢占,以便Guaranteed container使用。这样就需要提高集群的使用率。

Opportunistic container默认被中央RM分配,但是,目前已经增加分布式调度器的支持,该分布式调度器做为AMRProtocol解析器来实现。

MapReduce任务级本地优化

MapReduce添加了映射输出收集器的本地化实现的支持。对于密集型的洗牌操作(shuffle-intensive)jobs,可以带来30%的性能提升。

支持多余2个以上的NameNodes

针对HDFS NameNode的高可用性,最初实现方式是提供一个活跃的(active)NameNode和一个备用的(Standby)NameNode。通过对3个JournalNode的法定数量的复制编辑,使得这种架构能够对系统中任何一个节点的故障进行容错。

该功能能够通过运行更多备用NameNode来提供更高的容错性,满足一些部署的需求。比如,通过配置3个NameNode和5个JournalNode,集群能够实现两个节点故障的容错。

修改了多重服务的默认端口

在之前的Hadoop版本中,多重Hadoop服务的默认端口在Linux临时端口范围内容(32768-61000),这就意味着,在启动过程中,一些服务器由于端口冲突会启动失败。这些冲突端口已经从临时端口范围移除,NameNode、Secondary NameNode、DataNode和KMS会受到影响。我们的文档已经做了相应的修改,可以通过阅读发布说明 HDFS-9427和HADOOP-12811详细了解所有被修改的端口。

提供文件系统连接器(filesystem connnector),支持Microsoft Azure Data Lake和Aliyun对象存储系统

Hadoop支持和Microsoft Azure Data Lake和Aliyun对象存储系统集成,并将其作为Hadoop兼容的文件系统。

数据节点内置平衡器(Intra-datanode balancer)

在单一DataNode管理多个磁盘情况下,在执行普通的写操作时,每个磁盘用量比较平均。但是,当添加或者更换磁盘时,将会导致一个DataNode磁盘用量的严重不均衡。由于目前HDFS均衡器关注点在于DataNode之间(inter-),而不是intra-,所以不能处理这种不均衡情况。

在hadoop3 中,通过DataNode内部均衡功能已经可以处理上述情况,可以通过hdfs diskbalancer ClI来调用。

重写了守护进程和任务的堆管理机制

针对Hadoop守护进程和MapReduce任务的堆管理机制,Hadoop3 做了一系列的修改。

HADOOP-10950 引入配置守护进程堆大小的新方法。特别地,HADOOP_HEAPSIZE配置方式已经被弃用,可以根据主机的内存大小进行自动调整。

MAPREDUCE-5785 简化了MAP的配置,减少了任务堆的大小,所以不需要再任务配置和Java可选项中明确指出需要的堆大小。已经明确指出堆大小的现有配置不会受到该改变的影响。

S3Gurad:为S3A文件系统客户端提供一致性和元数据缓存

HADOOP-13345 为亚马逊S3存储的S3A客户端提供了可选特性:能够使用DynamoDB表作为文件和目录元数据的快速、一致性存储。

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

HDFS Router-Based Federation添加了一个RPC路由层,为多个HDFS命名空间提供了一个联合视图。这和现有的ViewFs、HDFS Federation功能类似,区别在于通过服务端管理表加载,而不是原来的客户端管理。从而简化了现存HDFS客户端接入federated cluster的操作。

基于API配置的Capacity Scheduler queue configuration

OrgQueue扩展了capacity scheduler,提供了一种编程方法,该方法提供了一个REST API来修改配置,用户可以通过远程调用来修改队列配置。这样一来,队列的administer_queue ACL的管理员就可以实现自动化的队列配置管理。

YARN资源类型

Yarn资源模型已经被一般化,可以支持用户自定义的可计算资源类型,而不仅仅是CPU和内存。比如,集群管理员可以定义像GPU数量,软件序列号、本地连接的存储的资源。然后,Yarn任务能够在这些可用资源上进行调度。

想学习大数据或者对大数据技术感兴趣的朋友,这里我整理了一套大数据的学习视频免费分享给大家,从入门到实战都有,大家可以加我的微信:Lxiao_28获取!(备注领取资料)。也欢迎进微信群交流,或者获取Java高级技术学习资料。

原文地址:https://www.cnblogs.com/feiyudemeng/p/9118867.html

时间: 2024-11-05 21:38:15

Hadoop 3相对于hadoop 2的新特性的相关文章

浅谈JDK8相对于JDK7的一些新特性

上两天阿海升级了一下JDK环境,IDE版本更新成了Eclipse Neon. 不得不说,这个版本的Eclipse确实很不错,用起来页比较舒服多了.尤其是这个Eclipse的暗黑主题"Drack"改进了不少,这也是我一直用的主题.且看我先秀一下图: 这个主题中,改进最大的就是JSP编辑器,各种高亮很完全哦!JS块中的语法高亮也很带感,然而美中不足的事,仍然没有JS的语法提示.各种图片我就不再秀了,这篇文章主要介绍JDK8的一些新的特性. 哦对了,假如喜欢这个版本的Eclipse的话,下面

Java JDK1.5、1.6、1.7新特性整理(转)

原文链接:http://www.cnblogs.com/tony-yang-flutter/p/3503935.html 一.Java JDK1.5的新特性 1.泛型: List<String> strs = new ArrayList<String>();//给集合指定存入类型,上面这个集合在存入数据的时候必须存入String类型的数据,否则编译器会报错 2.for-each 例如上面这个集合我们可以通过for-each遍历,这样更加简单清晰 for(String s : str

一次电话Java面试的问题总结(JDK8新特性、哈希冲突、HashMap原理、线程安全、Linux查询命令、Hadoop节点)

面试涉及问题含有: Java JDK8新特性 集合(哈希冲突.HashMap的原理.自动排序的集合TreeSet) 多线程安全问题 String和StringBuffer JVM 原理.运行流程.内部结构 Linux 查询含有某字符串内容的命令grep 查询进程.GC状态.杀死进程 Hadoop五种节点介绍 -----------------------------------------------------------------------------------------------

Hadoop 2.4.0新特性介绍

在2014年4月7日,Apache发布了Hadoop 2.4.0 .相比于hadoop 2.3.0,这个版本有了一定的改进,突出的变化可以总结为下列几点(官方文档说明): 1 支持HDFS访问控制列表(ACL,Access Control Lists) 这个特性解决了在一定情况下,文件权限访问的权限问题.其机制是基于Linux文件访问权限的特征,如果你熟悉Linux的文件访问机制,你就不用再去理解HDFS文件访问的特性了. 有了ACL特性后,对HDFS文件系统就具有了良性的扩展特性.HDFS-4

Hadoop 2.x HDFS新特性

Hadoop 2.x HDFS新特性     HDFS联邦     HDFS HA(要用到zookeeper等,留在后面再讲)     HDFS快照 回顾: HDFS两层模型     Namespace: 包括目录.文件和块.它支持所有命名空间相关的文件操作,如创建.删除.修改,查看所有文件和目录.     Block Storage Service(块存储服务) 包括两部分: 1 在namenode中的块的管理:提供datanode集群的注册.心跳检测等功能.处理块的报告信息和维护块的位置信息

Hadoop 2.5.0新特性和改进

Apache Hadoop 2.5.0是一个在2.x.y发布线上的一个小版本,建立在之前稳定的发布版本2.4.1之上.主要特性和改进: 1. Common a) 使用HTTP代理服务器时认证改进.当通过代理服务器使用WebHDFS时这是非常有用的. b) 增加了一个新的Hadoop指标监控sink,允许直接写到Graphite. c) Hadoop文件系统兼容相关的规范工作. 2. HDFS a) 支持 POSIX风格的扩展文件系统.更多细节查看Extended Attributes in HD

Hadoop YARN最近几个新特性

本文介绍Hadoop YARN最近版本中增加的几个非常有用的特性,包括: (1)ResourceManager HA 在apache hadoop 2.4或者CDH5.0.0版本之后,增加了ResourceManger HA特性,支持基于Zookeeper的热主备切换,具体配置参数可以参考Cloudera的文档:ResourceManager HA配置. 需要注意的是,ResourceManager HA只完成了第一个阶段的设计,即备ResourceManager启动后,会杀死之前正在运行的Ap

解析Hadoop 2.3.0版本的新特性

2014年2月20日,Hadoop 2.3.0版本发布,这是apache 在2014年发布的第一个Hadoop版本,揭开了Hadoop 2014发展的序幕. 该版本引入了很多大家期待已久的特性,包括HDFS 的异构层次化存储架构.DataNode Cache,YARN的单点故障解决方案,以及MapReduce的自动化部署等.本文尝试为大家解析这些特性,并给出一些资料供大家深入了解. HDFS新特性. 2.3.0中引入了两个大的HDFS特性,分别是异构层次化存储架构和DataNode Cache.

Apache Hadoop 2.6.0 新特性

Apache Hadoop 2.6.0发布了,新的稳定版,发布频率和质量越来越高了,增加了很多东西,从安装包的大小就能看出来,直接增加了50M,30%有木有. 下面看一下,2.6.0都有啥好东西. Common: 1.      Hadoop Key Management Server(KMS)是一个基于HadoopKeyProvider API编写的密钥管理服务器.他提供了一个client和一个server组件,client和server之间基于HTTP协议使用REST API通信.Clien