本帖最后由 pig2 于 2014-5-13 17:20 编辑
问题导读:
1.HDFS权限加强表现在哪方面?
2.HDFS的状态如何通过web端口访问?
3.ResourceManager是否支持HA(高可用)?
4.Capacity scheduler是否支持资源抢占,原理是什么?
Hadoop 2.4.0版本于2014年4月7日发布,相比于hadoop 2.3.0,有了很多重大改进,主要包括:
(1)HDFS支持ACL ACL权限控制机制是对HDFS现有的基于Linux文件访问权限控制机制的补充,该方式更加灵活,能够解决之前HDFS无法解决的特定情况下文件权限控制问题。比如,HDFS文件/transaction/bank的拥有者是dongxicheng:dongxicheng,文件访问权限是-xwr——,某天,由于公司架构的变动,一个用户组leader需要有该文件的读权限,解决方法是将dongxicheng用户加入用户组leader,并将文件权限改为-xwr–r—,后来由于需要,另外一个新的用户组extream需要拥有该文件的读权限,则此时不太好办了,….,有了ACL之后,该问题有了扩展性良好的解决方法,具体参考: HDFS-4685。
(2) HDFS在线升级更加容易
(3) HDFS支持https访问方式 (4)YARN ResourceManager容错 需要注意的是,该功能的完成度非常低,仅支持ResourceManager因故障挂掉重启后,可以恢复之前正在运行的应用程序(用户不需重新提交),其中已经运行完成的任务无需重新运行,但正在运行的和尚未运行的任务需重新运行。此外,该版本不支持ResourceManager主备切换,甚至不能配置备ResourceManager,该功能还需要一段时间才能完成。
(5) 增加了Application Timeline Server 之前运行在YARN上的计算框架中,只有MapReduce配有Job History server,该server可以供用户查询已经运行完成的作业的信息,随着YARN上计算框架的增多,有必要增加一个通用的Job History Server,于是开发了Generic history server,后来改名为Application Timeline Server,相关文档说明见:: Application Timeline Server。
注:Application Timeline Server可认为YARN提供给应用程序的用于共享信息的共享存储模块,可以将metric等信息存到该模块中,不仅仅是历史作业运行信息。目前共享存储模块使用的是单机版的leveldb,用户可根据需要扩展成hbase等。
(6)Capacity scheduler支持资源抢占 该功能很早就有了,但一直没有得到充分的测试。该版本进行了充分测试,并验证了其有效性。这里简单解释一下capacity scheduler资源抢占功能的设计动机:在capacity scheduler中,队列间的剩余资源是共享的,即当一个队列的资源有剩余时,可以共享给其它队列,但当该队列有新的作业提交时,其它队列必须在一定时间内归还(释放)资源,如果没有归还,则进行调度器会进行抢占。 感兴趣的读者可以在 这里下载Hadoop 2.4.0源代码。(对于源码下载需要了解git) 转载自董的博客
|