メイン コンテンツに進む
  • すばやく簡単にご注文が可能
  • 注文内容の表示、配送状況をトラック
  • 会員限定の特典や割引のご利用
  • 製品リストの作成とアクセスが可能

Isilon:「Isilon:Amberiでの自動Kerberos構成(英語)」

概要: この記事では、Ambariが管理するHadoopクラスターを使用したKerberosセキュリティの構成について説明します。

この記事は次に適用されます: この記事は次には適用されません: この記事は、特定の製品に関連付けられていません。 すべての製品パージョンがこの記事に記載されているわけではありません。

現象

なし

原因

なし

解決方法

メモ: このトピックは、「 OneFSでのHadoopの使用 - Isilon Info Hub 」の一部です。

この記事では、Ambariが管理するHadoopクラスターを使用してKerberosセキュリティを構成する方法について説明します。

Kerberosは、Hadoopの強力な認証と暗号化の中心ですが、構成と管理が難しい場合があります。Ambari 2.0では、ウィザード主導の自動Kerberos構成が導入されました。これにより、プロセスがはるかに高速になり、エラーが発生しやすくなります。OneFS 8.0.0.1以降、Dell EMC Isilonのお客様はこの優れた機能を活用できます。


必要条件

  • OneFS 8.0.0.1以降。
  • Ambari 2.0以降。
  • MIT KDC実行中(Heimdalはサポートされていません)。Kerberosインフラストラクチャをセットアップするには、次の手順に従います。
  • すべてのホスト間でDNSを正引きまたは逆引きします。
  • すべてのサービスが、Ambariダッシュボードで実行されています(緑色)。

Kerberosの有効化

事前構成

ウィザードを起動する前に、2つの構成を設定し、すべてのサービスを再起動する必要があります。
  • HDFS -> カスタム コア サイトがhadoop.security.token.service.use_ip」を「false」に設定
  • MapReduce2 -> Advanced mapred-siteでは、「mapreduce.application.classpath」の先頭に「'hadoop classpath':」を追加します。コロンとバックスティックをメモします(ただし、引用符はコピーしないでください)。

開始

Admin -> Kerberosに移動し、[Enable Kerberos]ボタンを押します。このセクション内のタイトルは、Kerberosウィザード ページのタイトルを参照します。

SLN319432_en_US__1i_isilon-1-enable

[Existing MIT KDC]を選択し、前提条件が満たされていることを確認して、[Next]をクリックします。IsilonはJavaを使用せず、JCEは必要ありません。

Kerberosの構成/Kerberosクライアントのインストールとテスト

すべてのKDCと管理サーバーの情報を入力します。ステップ3(Kerberosクライアントのインストールとテスト)で、Ambariサーバーは、Kerberosが正しく構成されていることを確認するための煙テストを実行します。


SLN319432_en_US__2i_isilon-2-インストール


IDの設定/設定の確認

 a)Ambariユーザー プリンシパル(UPN)

Ambariは $ -$ @$ の形式でユーザー プリンシパルを作成し、 core-site.xmlのhadoop.security.auth_to_local を使用して、ファイル システム上のプリンシパルをわずか $ にマッピングします。

Isilonはマッピング ルールを尊重しないため、「Ambari Principals」セクションのすべてのプリンシパルから -$ を削除する必要があります。Isilonは @$ をストライピングするため、エイリアスは必要ありません。HDFS、YARN、MapReduce2、Tez、Hive、HBase、Pig、Sqoop、Oozie、Zookeeper、Falcon、Storm、Flume、Accumulo、Ambari Metrics、Kafka、Knox、Mahout、Slider、Sparkを実行しているAmbari 2.2.1クラスターで、[General]タブで次の変更を行います。
  • Smokeuserプリンシパル名: ${cluster-env/smokeuser}-$ @$ => ${cluster-env/smokeuser}@$
  • spark.history.kerberos.principal: ${spark-env/spark_user}-$ @$ => ${spark-env/spark_user}-@$
  • ストーム プリンシパル名: ${storm-env/storm_user}-$ @$ => ${storm-env/storm_user}-@$
  • HBaseユーザー プリンシパル: ${hbase-env/hbase_user}-$ @$ => ${hbase-env/hbase_user}@$
  • HDFSユーザー プリンシパル: ${hadoop-env/hdfs_user}-$ @$ => ${hadoop-env/hdfs_user}@$
  • accumulo_principal_name: ${accumulo-env/accumulo_user}-$ @$ => ${accumulo-env/accumulo_user}@$
  • trace.user: tracer-$ @$ => tracer@$

SLN319432_en_US__3i_isilon-3 ID

b)SPN(サービス プリンシパル)

Ambariは、UNIXユーザー名とは異なるサービス プリンシパルを作成します。繰り返しますが、Isilonはマッピング ルールを尊重しないため、UNIXユーザー名に一致するようにプリンシパル名を変更する必要があります。Ambari 2.2.1クラスターで、[Advanced]タブで次の変更を行います。
  • HDFS -> dfs.namenode.kerberos.principal: nn/_HOST@$ => hdfs/_HOST@$
  • YARN -> yarn.resourcemanager.principal: rm/_HOST@$ => yarn/_HOST@$
  • YARN -> yarn.nodemanager.principal: nm/_HOST@$ => yarn/_HOST@$
  • MapReduce2 :> mapreduce.jobhistory.principal: jhs/_HOST@$ => mapred/_HOST@$
  • Falcon -> *.dfs.namenode.kerberos.principal: nn/_HOST@$ => hdfs/_HOST@$
 

SLN319432_en_US__4i_isilon-4-idsconfig


適切なプリンシパルを構成したら、[Next]を押します。[設定の確認]画面で[次へ]を押します。

サービス/Kerberizeクラスターの停止

サービスの停止とKerberizingは成功するはずです。
 

SLN319432_en_US__5i_isilon-5クラスター


次の手順を実行しないでください。Isilonでは、AmbariはIsilonプリンシパルのキータブを作成できません。代わりに、次の手順を使用してIsilonでKerberosを手動で構成する必要があります。

a)Isilon認証プロバイダーとしてKDCを作成する

メモ: このIsilonゾーンがすでにMIT KDCを使用するように構成されている場合は、これらの手順をスキップできます。

isi auth krb5 create --realm=$REALM --admin-server=$admin_server --kdc=$kdc_server --user=$admin_principal --password=$admin_password
isi zone zones modify --zone=$isilon_zone --add-auth-provider=krb5:$REALM

b) HDFSおよびHTTP(WebHDFSの場合)のサービス プリンシパルを作成します。

isi auth krb5 spn create --provider-name=$REALM --spn=hdfs/$isilon_smartconnect@$REALM --user=$admin_principal --password=$admin_password
isi auth krb5 spn create --provider-name=$REALM --spn=HTTP/$isilon_smartconnect@$REALM --user=$admin_principal --password=$admin_password

c)必要なプロキシ ユーザーを作成する

セキュアでないクラスターでは、任意のユーザーが他のユーザーを偽装できます。セキュアなクラスターでは、プロキシ ユーザーを明示的に指定する必要があります。
HiveまたはOozieを使用している場合は、適切なプロキシ ユーザーを追加します。

isi hdfs proxyusers create oozie --zone=$isilon_zone --add-user=ambari-qa
isi hdfs proxyusers create hive --zone=$isilon_zone --add-user=ambari-qa

d)シンプル認証の無効化

Kerberosまたは委任トークン認証のみが許可されます。

isi hdfs settings modify --zone=$isilon_zone --authentication-mode=kerberos_only

Isilonも構成したので、Ambariで[Next]を押してウィザードの最後のステップに進みます。

サービスの開始とテスト
 

SLN319432_en_US__6i_isilon-6-startservices

 

サービスが開始されない場合は、Kerberosの問題をデバッグするためのいくつかのテクニックを次に示します。
  1. YARNのバグにより、「yarn.resourcemanager.principal」をYARN->Custom yarn-siteのyarn/$rm_hostname@$REALMに設定する必要があります。「_HOST」構文は、Kerberosが有効な場合は機能しません。
  2. Java GSSAPI/Kerberosエラーをデバッグするには、「-Dsun.security.krb5.debug=true」をHADOOP_OPTSに追加します。
  3. HTTP 401エラーの場合は、追加のデバッグ情報として curl with -iv を使用します。
  4. すべてのホスト間で正引きおよび逆引きDNSが設定されていることを確認します。
(オプション)強力なRPCセキュリティ

HDFSでは、>カスタム コア サイトが「hadoop.rpc.protection」を「整合性」または「プライバシー」に設定します。認証に加えて、整合性保証メッセージは改ざんされておらず、プライバシーはすべてのメッセージを暗号化します。

ジョブを実行します。

任意のクライアント ホストから、MapReduceジョブを試してください。

kinit <some-user> yarn jar /usr/hdp/current/hadoop-mapreduce-client/hadoop-mapreduce-examples.jar pi 1 1000
Job Finished in 37.635 seconds
Estimated value of Pi is 3.14800000000000000000
Congratulations--you have secured your cluster with Kerberos!

(オプション)Kerberosの無効化

Isilonのクリーンアップ

最初にIsilonをクリーンアップする必要があります。これは基本的に、Kerberosを有効にする逆関数です。

a)Kerberos認証の無効化

isi hdfs settings modify --authentication-mode=simple_only --zone=$isilon_zone

b)すべてのプロキシ ユーザーを削除する

isi hdfs proxyusers delete oozie --zone=$isilon_zone
isi hdfs proxyusers delete hive --zone=$isilon_zone

c)プリンシパルの削除

isi auth krb5 spn delete --provider-name=$REALM --spn=hdfs/$isilon_smartconnect@$REALM --all
isi auth krb5 spn delete --provider-name=$REALM --spn=HTTP/$isilon_smartconnect@$REALM --all

上記のコマンドは、Isilonからこれらのプリンシパルのみを削除しますが、KDCからは削除しないことに注意してください。次のコマンドを使用して、KDCからIsilonプリンシパルを削除します。

kadmin -p $admin_principal
kadmin: delete_principal hdfs/$isilon_smartconnect@$REALM
kadmin: delete_principal HTTP/$isilon_smartconnect@$REALM

d)Isilon認証プロバイダーとしてKDCを削除する

isi zone zones modify --zone=$isilon_zone --remove-auth-provider=krb5:$REALM
isi auth krb5 delete --provider-name=$REALM

Ambariを使用したクライアントのクリーンアップ

Admin -> Kerberosで[Disable Kerberos]を押します。すべてのサービスが緑色に表示されます。

対象製品

Isilon, PowerScale OneFS, Isilon with HDFS
文書のプロパティ
文書番号: 000128963
文書の種類: Solution
最終更新: 14 9月 2023
バージョン:  5
質問に対する他のDellユーザーからの回答を見つける
サポート サービス
お使いのデバイスがサポート サービスの対象かどうかを確認してください。