KerberosおよびSentryの要件

BDDは、Kerberos 5+、およびHadoopディストリビューションに含まれているSentryのバージョンとの統合をサポートしています。これらのいずれかまたは両方がHadoopクラスタに対して有効化されている場合、必要なデータにアクセスできるようにするために、BDDに対してもこれらを有効化する必要があります。

KerberosおよびSentryの詳細は、「セキュリティ」を参照してください。

この手順では、KerberosまたはSentry(あるいはその両方)がすでにインストール済であることを前提としています。

KerberosおよびSentryを有効化するには、次の手順を実行します。

  1. 次のディレクトリをHDFSに作成します。
    • /user/<BDD user>(ここでの、<BDD user>はBDDをインストールするLinuxユーザーの名前です(BDDユーザー))。
    • /user/<HDFS_DP_USER_DIR>(ここでの<HDFS_DP_USER_DIR>は、BDDの構成ファイルのHDFS_DP_USER_DIRの値です)。
    両方のディレクトリの所有者はBDDユーザーであり、グループはsupergroupである必要があります。
  2. BDDユーザーをhiveグループに追加します。
  3. Kerberosの場合、次の手順を実行します。
    1. BDDプリンシパルを作成します。
      プライマリ・コンポーネントはBDDユーザーの名前である必要があり、レルムはデフォルト・レルムである必要があります。
    2. BDDプリンシパルのキータブ・ファイルを生成して、インストール・マシンにコピーします。
      このファイルの名前および場所はインストーラによりbdd.keytabに名前変更され、すべてのBDDノードにコピーされるため、任意です。
    3. krb5.confファイルをHadoopノードのいずれかからインストール・マシンにコピーします。
      これを配置する場所はインストーラによりすべてのBDDノードの/etcにコピーされるため、任意です。
    4. kinitおよびkdestroyユーティリティをすべてのBDDノードにインストールします。
    5. BDDユーザーをすべてのBDDノード上のhdfsグループに追加します。
    6. BDDの構成ファイルでKerberos関連プロパティを更新します。
    7. HDPを使用している場合、core-site.xml内のhadoop.proxyuser.hive.groupsプロパティを*に設定します。
      これはAmbariで行うことができます。
  4. Sentryの場合、BDDの新規ロールを作成します。
    create role <BDD_role>;
    grant all on server server1 to role <BDD_role>;
    show grant role <BDD_role>;
    grant role <BDD_role> to group hive;
インストール後、bdd-adminスクリプトを使用して、必要に応じてKerberos構成を更新します。詳細は、管理者ガイドを参照してください。