• 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年底发布,个人感觉如果不是对如上需求强烈的话,升级意义不大。

  • 相关阅读:
    功能强大的T4文本模版
    C#中.snk文件的作用
    ASP.NET MVC中实现多个按钮提交的几种方法
    asp.net mvc强大的分页控件MvcPager
    设计模式—观察者模式
    Http响应码

    编码习惯
    vim 快捷键 转
    makefilevvhttp://www.tudou.com/programs/view/e3Z8RbxFIZE/
  • 原文地址:https://www.cnblogs.com/bigdataman/p/6116276.html
Copyright © 2020-2023  润新知