Kerberos は、対称鍵暗号を使用して他のサービスの ID を検証する認証プロトコルです。このトピックでは、Kerberos 認証が有効になっている場合に Hive クライアントにアクセスする方法について説明します。
前提条件
クラスターを作成し、Software Configuration ページの Advanced Settings セクションで、Kerberos ID 認証 スイッチを有効にする必要があります。 詳細については、「クラスターの作成」をご参照ください。
操作手順
-
SSH 経由でクラスターにログインします。詳細については、「クラスターへのログイン」をご参照ください。
-
次のコマンドを実行して、Kerberos admin.local ツールを起動します。
-
Kerberos キー配布センター (KDC) サーバーが実行されている master-1-1 ノードに
rootユーザーとしてログインしている場合、次のコマンドを実行して管理ツールに直接アクセスできます。kadmin.local次の出力は、
kadmin.localコマンドラインインターフェイスが起動したことを示します。Authenticating as principal hadoop/admin@EMR.C-85D4B8D74296****.COM with password. kadmin.local: -
別のノードにログインするか、ゲートウェイを使用する場合は、次のコマンドを実行して管理ツールにアクセスします。
kadmin -p <admin-user> -w <admin-password>説明E-MapReduce が提供する KDC を使用する場合は、次のパラメーターに注意してください。
-
<admin-user>:値はroot/adminに固定されています。 -
<admin-password>: E-MapReduce コンソールで、Kerberos サービスの Configure タブに移動し、admin_pwd パラメーターの値を取得します。
次の出力は、
kadminコマンドラインインターフェイスが起動したことを示します。Authenticating as principal root/admin with password. kadmin: -
-
-
次のコマンドを実行して、
testという名前のプリンシパルを作成します。この例では、パスワードは
123456です。addprinc -pw 123456 test次の出力は、プリンシパルが正常に作成されたことを示します。
Principal "test@EMR.C-85D4B8D74296****.COM" created.説明チケット認可チケット (TGT) の作成に必要となるため、ユーザー名とパスワードを記録しておいてください。
quitコマンドを実行して、Kerberos admin.local ツールを終了します。 -
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 サービスが実行されているノード (通常は master-1-1 ノード) でhostname -fコマンドを実行して取得できます。 -
EMR.c-56187feb57f0****.COM: 領域名です。 E-MapReduce コンソールで、Kerberos サービスの Configure タブに移動し、realmパラメーターの値を確認します。
-
-