通用性)

1.精简Hadoop内核,包括剔除过期的API和实现,将默认组件实现替换成最高效的实现(比如将FileOutputCommitter缺省实现换为v2版本,废除hftp转由webhdfs替代,移除Hadoop子实现序列化库org.apache.hadoop.Records。

2.Classpath isolation:以防止不同版本jar包冲突,比如google Guava在混合使用Hadoop、HBase和Spark时,很容易产生冲突。

3.Shell脚本重构: Hadoop 3.0对Hadoop的管理脚本进行了重构,修复了大量bug,增加了新特性,支持动态命令等。

HDFS)

1.精简Hadoop内核,包括剔除过期的API和实现,将默认组件实现替换成最高效的实现(比如将FileOutputCommitter缺省实现换为v2版本,废除hftp转由webhdfs替代,移除Hadoop子实现序列化库org.apache.hadoop.Records。

2.Classpath isolation:以防止不同版本jar包冲突,比如google Guava在混合使用Hadoop、HBase和Spark时,很容易产生冲突。

3.Shell脚本重构: Hadoop 3.0对Hadoop的管理脚本进行了重构,修复了大量bug,增加了新特性,支持动态命令等。

MR)

Hadoop3.X中的MapReduce较之前的版本作出以下更改:
1.Tasknative优化:为MapReduce增加了C/C++的map output collector实现(包括Spill,Sort和IFile等),通过作业级别参数调整就可切换到该实现上。对于shuffle密集型应用,其性能可提高约30%。

2.MapReduce内存参数自动推断。在Hadoop 2.0中,为MapReduce作业设置内存参数非常繁琐,涉及到两个参数:mapreduce.{map,reduce}.memory.mb和mapreduce.{map,reduce}.java.opts

一旦设置不合理,则会使得内存资源浪费严重,比如将前者设置为4096MB,但后者却是“-Xmx2g”,则剩余2g实际上无法让java heap使用到。

Yarn)

Yarn Timeline Service V2提供一个通用的应用程序共享信息和共享存储模块。可以将metrics等信息保存。

可以实现分布式writer实例和一个可伸缩的存储模块。同时,v2版本在稳定性和性能上面也做出了提升,原先版本不适用于大集群,v2版本使用hbase取代了原先的leveldb作为后台的存储工具。

HDFS纠删码)

在Hadoop3.X中,HDFS实现了Erasure Coding这个新功能。Erasure coding纠删码技术简称EC,是一种数据保护技术.最早用于通信行业中数据传输中的数据恢复,是一种编码容错技术。

它通过在原始数据中加入新的校验数据,使得各个部分的数据产生关联性。在一定范围的数据出错情况下,通过纠删码技术都可以进行恢复。

hadoop-3.0之前,HDFS存储方式为每一份数据存储3份,这也使得存储利用率仅为1/3,hadoop-3.0引入纠删码技术(EC技术),实现1份数据+0.5份冗余校验数据存储方式。

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

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

多NN)

最初的HDFS NameNode high-availability实现仅仅提供了一个active NameNode和一个Standby NameNode;并且通过将编辑日志复制到三个JournalNodes上,这种架构能够容忍系统中的任何一个节点的失败。

然而,一些部署需要更高的容错度。我们可以通过这个新特性来实现,其允许用户运行多个Standby NameNode。比如通过配置三个NameNode和五个JournalNodes,这个系统可以容忍2个节点的故障,而不是仅仅一个节点。

默认端口更改)

在hadoop3.x之前,多个Hadoop服务的默认端口都属于Linux的临时端口范围(32768-61000)。这就意味着用户的服务在启动的时候可能因为和其他应用程序产生端口冲突而无法启动。

现在这些可能会产生冲突的端口已经不再属于临时端口的范围,这些端口的改变会影响NameNode, Secondary NameNode, DataNode以及KMS。与此同时,官方文档也进行了相应的改变,具体可以参见 HDFS-9427以及HADOOP-12811。

Namenode ports: 50470 --> 9871, 50070--> 9870, 8020 --> 9820
Secondary NN ports: 50091 --> 9869,50090 --> 9868
Datanode ports: 50020 --> 9867, 50010--> 9866, 50475 --> 9865, 50075 --> 9864

Kms server ports: 16000 --> 9600 (原先的16000与HMaster端口冲突)

磁盘平衡器)

Hadoop3.x支持单个Datanode上,不同硬盘间的数据balancer。老版本的hadoop只支持在Datanode之间进行balancer,每个节点内部不同硬盘之间若发生了数据不平衡,则没有一个好的办法进行处理。

现在可以通过hdfs diskbalancer命令,进行节点内部硬盘间的数据平衡。该功能默认是关闭的,需要手动设置参数dfs.disk.balancer.enabled为true来开启。

Hadoop2.x与3.x的区别:相关推荐

  1. Hadoop2.x和3.x版本区别

    常用端口区别 端口名称 hadoop2.x hadoop3.x NameNode内部通信端口 8020/9000 8020/9000/9820 NameNode Http UI 50070 9870 ...

  2. 从Hadoop1.0到Hadoop2.0架构的优化和发展探索详解

    前言 本人大三软件工程大数据专业,在此领域本人有诸多不明确疑问,可能文章会有些许错误,望大家在评论区指正,本篇文章错误将会不断更正维护. 提示:以下是本篇文章正文内容,下面案例可供参考 一.Hadoo ...

  3. excel日期怎么间隔填充_系列或相同日期的自动填充Excel日期

    excel日期怎么间隔填充 If you're entering dates on an Excel worksheet, you don't have to enter each date indi ...

  4. 七、Hadoop简明笔记

    目录 1.Hadoop入门 1.1 Hadoop优势 1.2 Hadoop1.x.Hadoop2.x.Hadoop3.x的区别 1.3 HDFS架构概述 1.4 YARN架构概述 1.5 MapRed ...

  5. 初识Hadoop,轻松应对海量数据存储与分析所带来的挑战

    目录 一.前言:什么是Hadoop? 二.Hadoop生态圈 2.1 Hadoop2.x的生态系统 2.2 Hadoop2.x各个组件 2.3 大数据与云计算 三.HDFS(分布式文件系统) 3.1 ...

  6. Hadoop入门进阶步步高(六-Hadoop1.x与Hadoop2的区别

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 六.Ha ...

  7. 【Hadoop】Hadoop1.X版本与Hadoop2.X的区别

    学习时,突然想到这个问题,总结一下 一.从整体上来说 Hadoop1.X即第一代Hadoop,由分布式存储系统HDFS和分布式计算框架MapReduce组成,其中HDFS由一个NameNode和多个D ...

  8. Hadoop1.X 与 Hadoop2.X区别及改进

    一:Haddop版本介绍 0.20.x版本最后演化成了现在的1.0.x版本 0.23.x版本最后演化成了现在的2.x版本 hadoop 1.0 指的是1.x(0.20.x),0.21,0.22 had ...

  9. hadoop1与hadoop2的区别

    hadoop1中有HDFS和MapReduce.HDFS负责存储,MapReduce负责计算,但是有几个问题需要解决: 1.单点的问题.HDFS的namenode和MapReduce的jobTrack ...

最新文章

  1. MyBatis 多参数传递
  2. oracle无监听程序的解决方法(PLSQL)Oracle ORA12514 监听程序当前无法识别连接描述符中请求的服务...
  3. springboot执行批量插入_springboot+Mybatis 注解\Xml两种方式批量添加数据
  4. 激光雷达科普(1):激光雷达的分类及重要参数
  5. 中国计算机学会推荐国际学术会议和期刊(A类)2019年
  6. 关于Mybatis的深入学习(4)之动态SQL二十四道练习
  7. Dedecms错误警告:连接数据库失败,可能数据库密码不对或数据库服务器出错怎么解决?
  8. Chrome浏览器各种崩溃、卡死解决方法
  9. Hadoop大数据通用处理平台
  10. python输出箭头代码_OS X和代码在Python中的“向上箭头”历史记录.InteractiveConsole...
  11. 计算机网络的基本知识和技术
  12. 2021-2027全球与中国可持续性蛋白质市场现状及未来发展趋势
  13. 老调重弹-ffmpeg解码视频图像
  14. [转帖]双剑合璧:CPU+GPU异构计算完全解析
  15. layui怎么表格中显示图片
  16. 人人网上市七年芳华不再 市值缩水逾97%仅余空壳?
  17. In aggregated query without GROUP BY是什么错误
  18. 小学计算机台账模板,小学实验室各类台帐样本.doc
  19. [015]Redis | 内存大小单位转换
  20. vue中的路由2-----嵌套路由跳转,传参和路径记录问题

热门文章

  1. 《数据科学家访谈录》读书笔记1-5
  2. QT自制精美Ui模板系列展示(一)桃子风格模板 - 二次开发专用
  3. ARM裸机开发——双机异步串行通信
  4. 为什么建议选英文技术书籍
  5. IP-guard功能详解—即时通讯监控
  6. 繁荣国家数学教育,坚持“知识共享”许可原则
  7. Nginx搭建HTTP正向代理服务器
  8. [转]不是高手别碰我,VIM怎么舍得我难过
  9. java gui界面设计qq_Java swing界面开发(仿QQ登录界面)
  10. rw,rwd,rws是什么