Kerberos は、対称鍵暗号に基づく身元認証プロトコルです。Kerberos は、他のサービスに身元認証機能を提供します。このトピックでは、Hive で Kerberos 認証が有効になっている場合に Hive クライアントにアクセスする方法について説明します。
前提条件
E-MapReduce(EMR)クラスタが作成されています。クラスタを作成する際に、[ソフトウェア構成] ステップの [詳細設定] セクションで [kerberos 認証] がオンになっていることを確認する必要があります。EMR クラスタの作成方法の詳細については、「クラスタを作成する」をご参照ください。
手順
SSH モードで EMR クラスタにログインします。詳細については、「クラスタにログインする」をご参照ください。
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:
test という名前のプリンシパルを作成します。
この例では、パスワードは 123456 です。
addprinc -pw 123456 test出力に次の情報が含まれている場合、プリンシパルが作成されています。
Principal "test@EMR.C-85D4B8D74296****.COM" created.説明チケット交付チケット(TGT)を作成するときに必要なため、ユーザー名とパスワードを記録する必要があります。
admin.local CLI を終了するには、
quitコマンドを実行します。Hive クライアントを実行するノードにログインします。次のコマンドを実行して、test という名前のユーザーを作成し、切り替えます。
useradd test su test次のコマンドを実行して、TGT を作成します。
kinitEnter キーを押して、test ユーザーのパスワードを入力します。この例では、パスワードは 123456 です。
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 サービス ページの 構成する タブで検索できます。このパラメーターの値がレルム名です。