すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:Kerberos 認証を使用して Hive クライアントにアクセスする

最終更新日:Feb 22, 2025

Kerberos は、対称鍵暗号に基づく身元認証プロトコルです。Kerberos は、他のサービスに身元認証機能を提供します。このトピックでは、Hive で Kerberos 認証が有効になっている場合に Hive クライアントにアクセスする方法について説明します。

前提条件

E-MapReduce(EMR)クラスタが作成されています。クラスタを作成する際に、[ソフトウェア構成] ステップの [詳細設定] セクションで [kerberos 認証] がオンになっていることを確認する必要があります。EMR クラスタの作成方法の詳細については、「クラスタを作成する」をご参照ください。Kerberos

手順

  1. SSH モードで EMR クラスタにログインします。詳細については、「クラスタにログインする」をご参照ください。

  2. Kerberos の admin.local CLI を開きます。

    • キー配布センター(KDC)サーバーが存在する master-1-1 ノードに root ユーザーとしてログインする場合は、次のコマンドを実行して admin.local CLI を開きます。KDC は Kerberos サーバーです。

      kadmin.local

      出力に次の情報が含まれている場合、admin.local CLI が開かれています。

      Authenticating as principal hadoop/admin@EMR.C-85D4B8D74296****.COM with password.
      kadmin.local:
    • master-1-1 以外のノードにログインする場合、またはゲートウェイを使用する場合は、次のコマンドを実行して admin.local CLI を開きます。 admin-user パラメーターと admin-password パラメーターを実際のユーザー名とパスワードに置き換えます。

      kadmin -p <admin-user> -w <admin-password>
      説明

      EMR でセルフマネージド KDC サーバーを使用する場合は、次の点に注意してください。

      • <admin-user>: 値を root/admin に設定します。

      • <admin-password>: [admin_pwd] パラメーターの値を入力します。この値は、EMR コンソールの Kerberos サービスの [構成] タブで取得できます。

      出力に次の情報が含まれている場合、admin.local CLI が開かれています。

      Authenticating as principal root/admin with password.
      kadmin:
  3. test という名前のプリンシパルを作成します。

    この例では、パスワードは 123456 です。

    addprinc -pw 123456 test

    出力に次の情報が含まれている場合、プリンシパルが作成されています。

    Principal "test@EMR.C-85D4B8D74296****.COM" created.
    説明

    チケット交付チケット(TGT)を作成するときに必要なため、ユーザー名とパスワードを記録する必要があります。

    admin.local CLI を終了するには、quit コマンドを実行します。

  4. Hive クライアントを実行するノードにログインします。次のコマンドを実行して、test という名前のユーザーを作成し、切り替えます。

    useradd test
    su test
  5. 次のコマンドを実行して、TGT を作成します。

    kinit

    Enter キーを押して、test ユーザーのパスワードを入力します。この例では、パスワードは 123456 です。

  6. Hive クライアントにアクセスします。

    • 方法 1: hive コマンドを実行して Hive クライアントにアクセスします。

      hive
    • 方法 2: Beeline を使用して Hive クライアントにアクセスします。

      beeline -u "jdbc:hive2://master-1-1.c-56187feb57f0****.cn-hangzhou.emr.aliyuncs.com:10000/;principal=hive/_HOST@EMR.c-56187feb57f0****.COM"

      ビジネス要件に基づいて、次の情報を置き換えます。

      • master-1-1.c-56187feb57f0****.cn-hangzhou.emr.aliyuncs.com: ドメイン名を含む完全修飾ホスト名。ホスト名は、HiveServer2 サービスがデプロイされているノードで hostname -f コマンドを実行することで取得できます。このサービスは、ほとんどの場合、master-1-1 ノードにデプロイされています。

      • EMR.c-56187feb57f0****.COM: レルム名。レルム パラメーターは、EMR コンソールの Kerberos サービス ページの 構成する タブで検索できます。このパラメーターの値がレルム名です。

        image

関連情報

  • プリンシパルの作成方法の詳細については、「データベース管理」をご参照ください。

  • TGT の作成方法の詳細については、「kinit」をご参照ください。