我在学习“Kerberos如何在Hadoop中实现?” 我曾经使用过此文档https://issues.apache.org/jira/browse/HADOOP-4487 我还通过基本Kerberos的东西(https://www.youtube.com/watch?v=KD2Q-2ToloE)
了这些资源我来这,我通过一个图表示得出结论学习后消失。 情景: - 用户登录到他的计算机通过Kerberos身份验证进行身份验证并提交地图缩减作业 (请阅读几乎不需要5分钟时间的关系图的描述) 我想解释该图并提出问题用几个步骤(粗体) 号码在黄色背景表示整个流量(编号1〜19) DT(带红色背景)相关的代表委托令牌 BAT(具有绿色背景)表示块访问令牌 JT(与棕色背景)代表作业标记
步骤1,2,3和4代表: - 请求TGT(票证授予票证) 请求名称节点的服务票证。 问题1)KDC应该在哪里?它可以在我的名字节点或工作追踪器所在的机器上吗?
步骤5,6,7,8和9代表: - 向名称节点显示服务票证,得到一个确认。 名称节点会发出委托令牌(红色) 用户会告诉令牌新生(在这种情况下,作业调度器)
问题2)用户提交thisDelegation令牌与作业作业服务器一起。代理令牌将与任务跟踪器共享吗?
步骤10,11,12,13和14代表: - 问一个服务票据作业跟踪,得到KDC 显示该票作业跟踪服务票据,并得到一个ACK从JobTracker的 提交作业+代理令牌给JobTracker。
步骤15,16和17表示: - 生成块访问令牌并分布在所有数据节点上。 发送块标识和块访问令牌作业调度器和作业调度器将它传给的TaskTracker
问题3)谁就会要求BlockAccessToken和块ID从名称节点? JobTracker或TaskTracker
对不起,我错过了第18号。 Step19表示: - 作业跟踪器生成Job Token(棕色)并将其传递给TaskTracker。
问题4)我可以得出结论:每个用户将有一个委派令牌,它将分布在整个群集中,并且每个作业将有一个作业令牌?因此,用户只有一个授权令牌和许多工作令牌(等于他提交的作业数量)。
请告诉我,如果我错过了某些东西,或者我在我的解释中某处出错了。
Rohit!良好的分析;你有没有解决方案来保护Hadoop?如果是的话,你可以在这篇文章中分享答案吗? – 2014-11-19 11:05:11
如果你有问题,请更新答案@Rohit Sarewar – Rengasamy 2014-12-09 09:52:09