hadoop3.x新特性

1.JDK

hadoop3.x的JDK最低为Java8

2.副本&EC

副本:在分布式存储系统下的一种数据可靠性保护技术,通过冗余的数据副本来保障单点故障下数据的请求不中断。

Erasure Code(EC):即纠删码,是另一种实现数据保护的机制,该机制通过计算校验片的方式来实现数据冗余保护,更高存储利用率。

EC的优势:数据的持久度增强,降低了成本,写性能提升。

EC的缺点:由于擦除编码需要在执行远程读取时,对数据重建带来额外的开销,读取性能下降,因此他通常用于存储不太频繁访问的数据。

hadoop的3副本机制已经广为人知,是复制了3个副本,对磁盘空间的占用为3份。而EC使用的4+2的方式只需要1.5份的磁盘空间,所以写的时候有效的降低了写放大,提升性能。在读数据的时候,副本是直接返回,EC则是拼装在一起返回。

在故障场景下,副本写会降级写(3副本将为2副本)保证前台写不中断,而EC则会通过缩列写保证写入的可靠性不降低,即原来4+2的EC会按照2+2的方式写入。而且EC支持不降级写,所以具备更高的可靠性。

3.多NameNode

hadoop2中,NameNode高可用有一个Active 和standby NameNode,该体系结构能够容忍任何一个NameNode失败。hadoop3与允许用户同时运行多个备用的NameNode。

4.DataNode内部负载均衡

单个数据节点配置多个数据磁盘,在正常写入操作期间,数据被均匀的划分,因此,磁盘被均匀填充。但是,在维护磁盘时,添加或者替换磁盘会导致DataNode节点存储出现偏移,这种情况在早期的HDFS文件系统中,是没有被处理的。现在Hadoop3通过新的内部DataNode平衡功能来处理这种情况,这是通过hdfs diskbalancer CLI来进行调用的。执行之后,DataNode会进行均衡处理。

5.MapReduce任务级别本地化优化

在Hadoop3中,本地的Java实现已加入MapReduce地图输出器,对于Shuffle密集的作业,这样可以提高30%或者更高的性能。它们添加了映射输出收集器的本机实现,让MapTask基于JNI来本机优化。基本思想是添加一个NativeMapOutputCollector收集器来处理映射器发出的键值对,因此Sort、Spill、文件序列化都可以在本机代码中完成。

6.支持等待容器和分布式调度

在Hadoop3 中引入了一种新型执行类型,即等待容器,即使在调度时集群没有可用的资源,它也可以在NodeManager中被调度执行。在这种情况下,这些容器将在NM中排队等待资源启动,等待荣容器比默认容器优先级低,因此,如果需要,可以抢占默认容器的空间,这样可以提供机器的利用率。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值