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

E-MapReduce:Ranger で HBase を有効化し、関連する権限を設定する

最終更新日:Apr 14, 2025

このトピックでは、Ranger で HBase を有効化する方法と、関連する権限を設定する方法について説明します。

前提条件

クラスターが作成され、クラスターの作成時に HBase サービスと Ranger サービスが選択されています。詳細については、「クラスターの作成」をご参照ください。

手順

  1. [サービス] タブに移動します。

    1. EMR コンソールにログインし、左側のメニュで EMR on ECS をクリックします。

    2. 上部のナビゲーションバーで、クラスターが存在するリージョンを選択し、リソースグループ を選択します。

    3. EMR on ECS ページで、目的のクラスターを見つけ、[アクション] 列の [サービス] をクリックします。

  2. Ranger で HBase を有効にします。

    1. 表示されるページの Services タブで、Status[ranger-plugin] セクションの をクリックします。

    2. [サービス概要] タブの [enablehbase] をオンにします。

    3. 表示されるメッセージで、[OK] をクリックします。

  3. Ranger の Web UI で HBase サービスを表示します。

    1. Ranger の Web UI にアクセスします。詳細については、「Ranger の Web UI へのアクセス」をご参照ください。

    2. [emr-hbase] をクリックします。

      Ranger で HBase を有効にすると、emr-hbase という名前の HBase サービスが自動的に作成されます。

    3. ビジネス要件に基づいてパラメーターを変更します。

      次の図は、HBase サービスに関する情報を示しています。hbase

      次の表は、HBase サービスのパラメーターについて説明しています。

      パラメーター

      説明

      サービス名

      サービスの名前です。emr-hbase に設定します。

      ユーザー名

      HBase サービスへのアクセスに使用するユーザー名です。この例では、hbase が使用されています。

      パスワード

      HBase サービスへのアクセスに使用するパスワードです。カスタムパスワードを指定できます。

      hadoop.security.authentication

      • 標準クラスター(非高セキュリティクラスター)の場合は、[simple] を選択します。

      • 高セキュリティクラスターの場合は、[kerberos] を選択します。

      hbase.master.kerberos.principal

      このパラメーターは、高セキュリティクラスターの場合にのみ必要です。[hbase/_host@emr.${cluster_id}.com] に設定します。

      説明

      ${CLUSTER_ID} の値を取得するには、ホストにログオンし、hostname コマンドを実行して、まずホスト名を取得する必要があります。次に、ピリオド(.) の後に続く c- で始まる文字列を大文字に変換して、C- で始まる文字列を取得します。取得した文字列が ${CLUSTER_ID} の値です。

      hbase.security.authentication

      • 標準クラスター(非高セキュリティクラスター)の場合は、[simple] を選択します。

      • 高セキュリティクラスターの場合は、[kerberos] を選択します。

      hbase.zookeeper.property.clientPort

      2181 に設定します。

      hbase.zookeeper.quorum

      master-1-1 に設定します。

      zookeeper.znode.parent

      /hbase に設定します。

      新しい設定の追加

      • [名前] : policy.download.auth.users に設定します。

      • [値] : hbase に設定します。

  4. HBase を再起動します。

    1. [サービス] タブで、More アイコンをクリックし、[hbase] を選択します。

    2. 右上隅で、[詳細] > [再起動] を選択します。

    3. 表示されるダイアログボックスで、[実行理由] パラメーターを設定し、[OK] をクリックします。

    4. [確認] メッセージで、[OK] をクリックします。

管理者アカウントを設定する

  1. Ranger の Web UI にアクセスします。詳細については、「Ranger の Web UI へのアクセス」をご参照ください。

  2. [emr-hbase] をクリックします。

  3. ユーザーに管理コマンドを実行するための管理者権限を付与します。

    管理者権限を持つユーザーは、balance、compaction、flush、split などの管理コマンドを実行できます。既存の権限ポリシーの [アクション] 列にある modify アイコンをクリックし、管理者アカウントを追加します。権限を変更することもできます。たとえば、管理者権限のみを保持できます。 hbase を管理者アカウントとして設定する必要があります。Hbase ranger

    Phoenix を使用する場合は、Ranger にポリシーを追加する必要があります。次の表に、ポリシーのパラメーターを示します。

    パラメーター

    HBase テーブル

    SYSTEM.*

    HBase カラムファミリー

    アスタリスク (*)

    HBase カラム

    アスタリスク (*)

    グループの選択

    public

    権限

    読み取り、書き込み、作成、および管理

権限を設定する

たとえば、次の手順を実行して、test ユーザーに foo_ns:test テーブルに対する作成、書き込み、および読み取り権限を付与できます。

  1. Ranger の Web UI にアクセスします。詳細については、「Ranger の Web UI へのアクセス」をご参照ください。

  2. [emr-hbase] をクリックします。

  3. 右上隅にある [新しいポリシーの追加] をクリックします。

  4. ビジネス要件に基づいてパラメーターを設定します。次の表にパラメーターを示します。

    パラメーター

    説明

    ポリシー名

    ポリシーの名前です。カスタム名を指定できます。

    Hbase テーブル

    権限を設定するテーブルです。値は ${namespace}:${tablename} の形式である必要があります。複数のテーブルを指定できます。テーブル名を入力するたびに Enter キーを押します。この例では、foo_ns:test テーブルが使用されています。

    ${namespace} が default に設定されている場合、このパラメーターの値は ${tablename} 形式で指定されます。パラメーター値に default を追加する必要はありません。このパラメーターの値にはアスタリスク (*) を含めることができます。たとえば、foo_ns:* は foo_ns 内のすべてのテーブルを示します。

    説明

    default:* はサポートされていません。

    Hbase カラムファミリー

    カラムファミリーです。たとえば、このパラメーターを * に設定します。

    HBase カラム

    カラムの名前です。たとえば、このパラメーターを * に設定します。

    グループの選択

    ポリシーをアタッチするユーザーグループです。

    ユーザーの選択

    ポリシーをアタッチするユーザーです。例: test。

    権限

    付与する権限です。例: 読み取り、書き込み、作成、および管理。

  5. [追加] をクリックします。

    ポリシーが追加されると、test ユーザーに指定された権限が付与されます。 test ユーザーは foo_ns:test テーブルにアクセスできます。

    説明

    ポリシーを追加、削除、または変更した後、設定が有効になるまで約 1 分かかります。