このトピックでは、Ranger で HBase を有効化する方法と、関連する権限を設定する方法について説明します。
前提条件
クラスターが作成され、クラスターの作成時に HBase サービスと Ranger サービスが選択されています。詳細については、「クラスターの作成」をご参照ください。
手順
[サービス] タブに移動します。
EMR コンソールにログインし、左側のメニュで EMR on ECS をクリックします。
上部のナビゲーションバーで、クラスターが存在するリージョンを選択し、リソースグループ を選択します。
EMR on ECS ページで、目的のクラスターを見つけ、[アクション] 列の [サービス] をクリックします。
Ranger で HBase を有効にします。
表示されるページの Services タブで、Status[ranger-plugin] セクションの をクリックします。
[サービス概要] タブの [enablehbase] をオンにします。
表示されるメッセージで、[OK] をクリックします。
Ranger の Web UI で HBase サービスを表示します。
Ranger の Web UI にアクセスします。詳細については、「Ranger の Web UI へのアクセス」をご参照ください。
[emr-hbase] をクリックします。
Ranger で HBase を有効にすると、emr-hbase という名前の 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 に設定します。
HBase を再起動します。
[サービス] タブで、
アイコンをクリックし、[hbase] を選択します。右上隅で、 を選択します。
表示されるダイアログボックスで、[実行理由] パラメーターを設定し、[OK] をクリックします。
[確認] メッセージで、[OK] をクリックします。
管理者アカウントを設定する
Ranger の Web UI にアクセスします。詳細については、「Ranger の Web UI へのアクセス」をご参照ください。
[emr-hbase] をクリックします。
ユーザーに管理コマンドを実行するための管理者権限を付与します。
管理者権限を持つユーザーは、balance、compaction、flush、split などの管理コマンドを実行できます。既存の権限ポリシーの [アクション] 列にある
アイコンをクリックし、管理者アカウントを追加します。権限を変更することもできます。たとえば、管理者権限のみを保持できます。 hbase を管理者アカウントとして設定する必要があります。
Phoenix を使用する場合は、Ranger にポリシーを追加する必要があります。次の表に、ポリシーのパラメーターを示します。
パラメーター
例
HBase テーブル
SYSTEM.*
HBase カラムファミリー
アスタリスク (*)
HBase カラム
アスタリスク (*)
グループの選択
public
権限
読み取り、書き込み、作成、および管理
権限を設定する
たとえば、次の手順を実行して、test ユーザーに foo_ns:test テーブルに対する作成、書き込み、および読み取り権限を付与できます。
Ranger の Web UI にアクセスします。詳細については、「Ranger の Web UI へのアクセス」をご参照ください。
[emr-hbase] をクリックします。
右上隅にある [新しいポリシーの追加] をクリックします。
ビジネス要件に基づいてパラメーターを設定します。次の表にパラメーターを示します。
パラメーター
説明
ポリシー名
ポリシーの名前です。カスタム名を指定できます。
Hbase テーブル
権限を設定するテーブルです。値は
${namespace}:${tablename}の形式である必要があります。複数のテーブルを指定できます。テーブル名を入力するたびに Enter キーを押します。この例では、foo_ns:test テーブルが使用されています。${namespace} が default に設定されている場合、このパラメーターの値は ${tablename} 形式で指定されます。パラメーター値に default を追加する必要はありません。このパラメーターの値にはアスタリスク (*) を含めることができます。たとえば、foo_ns:* は foo_ns 内のすべてのテーブルを示します。
説明default:*はサポートされていません。Hbase カラムファミリー
カラムファミリーです。たとえば、このパラメーターを
*に設定します。HBase カラム
カラムの名前です。たとえば、このパラメーターを
*に設定します。グループの選択
ポリシーをアタッチするユーザーグループです。
ユーザーの選択
ポリシーをアタッチするユーザーです。例: test。
権限
付与する権限です。例: 読み取り、書き込み、作成、および管理。
[追加] をクリックします。
ポリシーが追加されると、test ユーザーに指定された権限が付与されます。 test ユーザーは foo_ns:test テーブルにアクセスできます。
説明ポリシーを追加、削除、または変更した後、設定が有効になるまで約 1 分かかります。