6

シナリオ : - ユーザーが自分のコンピューターにログオンすると、Kerberos 認証によって認証され、マップ削減ジョブが送信されます。

「Hadoop で Kerberos を実装するにはどうすればよいですか?」を学習しようとしています。このドキュメントを確認しました https://issues.apache.org/jira/browse/HADOOP-4487 基本的なケルベロスのものも確認しました ( https://www.youtube.com/watch?v=KD2Q-2ToloE )

これらのリソースから学んだ後、私は図を通して表現している結論に達しました。シナリオ : - ユーザーが自分のコンピューターにログオンすると、Kerberos 認証によって認証され、マップ削減ジョブが送信されます (図の説明を読んでください。5 分もかかりません)ステップ(太字) 黄色の背景の数字はフロー全体を表します (番号 1 ~ 19) DT (赤い背景) は委任トークンを表します BAT (緑の背景) はブロック アクセス トークンを表します JT (茶色の背景) はジョブ トークンを表します

ステップ 1、2、3、および 4 は次のことを表しています。 質問 1) KDC はどこにありますか? 私の名前ノードまたはジョブトラッカーが存在するマシン上にある可能性はありますか?

ステップ 5、6、7、8、および 9 は次のことを表しています。Name Node は Delegation Token (red) を発行します User は Token renewer について伝えます (この場合は Job Tracker です)

質問 2) ユーザーは、この委任トークンをジョブと共にジョブ トラッカーに送信します。委任トークンはタスク トラッカーと共有されますか?

ステップ 10、11、12、13、および 14 は、次のことを表しています。- Job tracker のサービス チケットを要求し、KDC からサービス チケットを取得します。このチケットを Job Tracker に表示し、JobTracker から ACK を取得します。Job Tracker に Job + Delegation Token を送信します。

ステップ 15、16、および 17 は次のことを表しています。 - ブロック アクセス トークンを生成し、すべてのデータ ノードに分散します。blockID と Block Access Token を Job Tracker に送信すると、Job Tracker はそれを TaskTracker に渡します。

質問 3) 誰が Name Node から BlockAccessToken と Block ID を要求しますか? JobTracker または TaskTracker

すみません、間違えて18番を見逃してしまいました。Step19 は以下を表します:- ジョブ トラッカーはジョブ トークン (茶色) を生成し、それを TaskTracker に渡します。

質問 4) クラスタ全体に配布されるユーザーごとに 1 つの委任トークンがあり、ジョブごとに 1 つのジョブ トークンがあると結論付けてもよろしいですか? したがって、ユーザーは委任トークンを 1 つだけ持ち、多くのジョブ トークン (彼が送信したジョブの数に等しい) を持ちます。

何かを見逃していたり​​、説明のどこかで間違っていたりした場合は教えてください。

4

2 に答える 2