作者:Andrew Wang,Ray Chiang
Andrew Wang是Cloudera公司HDFS团队的一名软件工程师、Apache Hadoop PMC成员和提交者,同时也是Hadoop 3的发布经理。
Ray Chiang是Cloudera公司RM团队的一名软件工程师,同时也是Apache Hadoop提交者。
链接:http://blog.cloudera.com/blog/2017/02/apache-hadoop-3-0-0-alpha2-released/
◆◆◆
Apache Hadoop项目在2017年1月25日宣布发布3.0.0-alpha2版本。这是3.0.0版本系列中为3.0.0 GA而准备的第二个alpha版本;同时,从去年9月发布的3.0.0-alpha1版本开始纳入了857个新的补丁、改进和功能。您可以阅读我们以前发布的关于3.0.0-alpha1版本博客文章;在本篇博文中,我们将讨论alpha2版本中新的改进。
1
Hadoop Client Jars的类路径隔离
许多Java开发人员都经历了类路径隔离的痛苦。类路径隔离本质上是一个版本依赖冲突的问题;Hadoop客户端可能需要在应用程序的类路径上存在特定版本的Java库,但应用程序已经使用了该特定版本Java库的不兼容版本。这可能导致在运行时产生ClassNotFoundException或NoSuchMethodError异常,或者其它未知的、未经测试的错误。
这个问题通过由HADOOP-11804引入的阴影客户端(shaded client)工件予以部分解决。Shading创建了一个包括所有依赖项、类似于静态链接的JAR。因此,Hadoop阴影客户端不需要在应用程序的类路径中添加附加依赖项,使得应用程序可以自由使用所选择的任何依赖项和版本。
2
支持Microsoft Azure Data Lake和Aliyun对象存储系统
针对Microsoft Azure Data Lake和Aliyun对象存储系统,Apache Hadoop增加了文件系统连接器,允许用户通过正常的Hadoop文件系统API与这些存储系统进行交互。
3
支持机会性容器和分布式调度
除当前保证性容器外,YARN还引入了机会性容器的概念。机会性容器在NodeManager中排队等待资源时变得可用,并且只要资源可用就可以见机行事地运行。如果需要,机会性容器会被抢占,从而为保证性容器腾出空间。在完成保证容器和分配新容器之间运行机会性容器应该提高集群利用率。
在目前的形式中,应用程序需要显式地请求机会性容器。这些机会性容器最适用于短时间运行的任务。机会性容器默认由中央RM分配,也支持外部(潜在分布式)调度程序对机会性容器进行排队。
欲了解更多详细信息,请参阅相关文档。
4
结论
Apache Hadoop 3.0.0版本系列根据社区反馈意见不断丰富和完善,这在最近的3.0.0-alpha2版本中已有所体现。当前上游发布计划是在转到beta1版本前(其次是GA),再次发布一个新的alpha版本,从而最终敲定HDFS纠删编码及一些其他功能。这使得下一个开发阶段成为冻结测试版兼容性之前集成其他用户反馈的关键时段。
所以,下载该新版本,尝试体验阴影客户端或纠删编码等新功能,并提交包含任何缺陷或改进的JIRA。如果您有兴趣参与更多的Hadoop 3版本发布验证,请发送电子邮件至开发人员列表,或者随时直接与Cloudera联系。
来源:Cloudera中国