zoukankan      html  css  js  c++  java
  • hadoop3.0新特性及新功能

    Hadoop-3.0.0-alpha2版本发布,相比之前的hadoop-2.x有一系列的功能增强。但目前还是个alpha版本,有很多bug,且不能保证API的稳定和质量。

    主要变化

    Java最低版本要求java8,使用java7或者更低版本的需要升级到8。
    HDFS支持纠编码erasure encoding,简称EC技术。EC技术可以防止数据丢失,又可以解决HDFS存储空间翻倍的问题。劣势是:
    一旦数据需要恢复,会带来网络消耗,因为不仅要读取原数据块,还要读取校验块。
    存储文件,或者恢复文件需要编码解码,会有CPU消耗。
    建议EC存储用于冷数据,由于冷数据确实数量大,可以减少副本从而降低存储空间,另外冷数据稳定,一旦需要恢复数据,对业务不会有太大影响。
    Hadoop common的变化

    精简了内核,剔除了过期的API和实现,废弃hftp转由webhdfs替代。
    Classpath isolation防止不同版本jar包冲突,例如google guava在混合使用hadoop、hbase、spark时出现冲突。mapreduce有参数控制忽略hadoop环境中的jar,而使用用户提交的第三方jar,但提交spark任务却不能解决此问题,需要在自己的jar包中重写需要的第三方类或者整个spark环境升级。classpath isolation用户可以很方便的选择自己需要的第三方依赖包。参见HADOOP-11656
    hadoop shell脚本重构,修复了大量bug,增加了新特性,支持动态命令。参见HADOOP-9902
    Hadoop namenode支持一个active,多个standby的部署方式。在hadoop-2.x中resourcemanager已经支持这个特性。

    Mapreduce task-level native优化,mapreduce增加了map output collector的native实现,对于shuffle密集型任务,可以提高30%的执行效率。参见MAPREDUCE-2841
    内存参数自动推断。在Hadoop 2.0中,为MapReduce作业设置内存参数非常繁琐,涉及到两个参数:mapreduce.{map,reduce}.memory.mb和 mapreduce.{map,reduce}.java.opts,一旦设置不合理,则会使得内存资源浪费严重,比如将前者设置为4096MB,但后者却是“-Xmx2g”,则剩余2g实际上无法让java heap使用到。参见HADOOP-10950,MAPREDUCE-5785
    Hadoop Yarn,cgroup增加了内存和io disk的隔离,timeline service v2,YARN container resizing等等。


    小结

    Hadoop 3.0中引入纠编码、多Namenode支持、MR Native Task优化、YARN基于cgroup的内存和磁盘IO隔离、YARN Container resizing等等。

    预计Hadoop 3.0 release版本2016年底发布,个人感觉如果不是对如上需求强烈的话,升级意义不大。

  • 相关阅读:
    图片上传-下载-删除等图片管理的若干经验总结3-单一业务场景的完整解决方案
    图片上传-下载-删除等图片管理的若干经验总结2
    HDU 1195 Open the Lock
    HDU 1690 Bus System
    HDU 2647 Reward
    HDU 2680 Choose the best route
    HDU 1596 find the safest road
    POJ 1904 King's Quest
    CDOJ 889 Battle for Silver
    CDOJ 888 Absurdistan Roads
  • 原文地址:https://www.cnblogs.com/bigdataman/p/6116276.html
Copyright © 2011-2022 走看看