我在學習「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