必要条件
Kerberosの有効化
事前構成
ウィザードを起動する前に、2つの構成を設定し、すべてのサービスを再起動する必要があります。開始
Admin -> Kerberosに移動し、[Enable Kerberos]ボタンを押します。このセクション内のタイトルは、Kerberosウィザード ページのタイトルを参照します。Kerberosの構成/Kerberosクライアントのインストールとテスト
すべてのKDCと管理サーバーの情報を入力します。ステップ3(Kerberosクライアントのインストールとテスト)で、Ambariサーバーは、Kerberosが正しく構成されていることを確認するための煙テストを実行します。
IDの設定/設定の確認
a)Ambariユーザー プリンシパル(UPN)
Ambariは $ -$ @$ の形式でユーザー プリンシパルを作成し、 core-site.xmlのhadoop.security.auth_to_local を使用して、ファイル システム上のプリンシパルをわずか $ にマッピングします。
適切なプリンシパルを構成したら、[Next]を押します。[設定の確認]画面で[次へ]を押します。
サービス/Kerberizeクラスターの停止
サービスの停止とKerberizingは成功するはずです。
次の手順を実行しないでください。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]を押してウィザードの最後のステップに進みます。
サービスの開始とテスト
サービスが開始されない場合は、Kerberosの問題をデバッグするためのいくつかのテクニックを次に示します。
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]を押します。すべてのサービスが緑色に表示されます。