Kerberosの有効化

BDDは、Hadoopとの通信の認証にKerberos 5+をサポートしています。これを有効化すると、BDDにおけるクラスタおよびデータのセキュリティが向上します。

BDDのKerberosを構成するには、Hadoopクラスタにインストールする必要があります。HadoopクラスタがKerberosをすでに使用している場合、必要なハイブ表にアクセスできるようにBDDに対してこれを有効化する必要があります。

Kerberosを有効にするには、次の手順を実行します。

  1. kinitおよびkdestroyユーティリティをすべてのBDDノードにインストールします。
  2. HDFSに次のディレクトリを作成します。
    • /user/<BDD user>: <BDD user>は、すべてのBDDプロセスを実行するLinuxユーザーの名前です。
    • /user/<HDFS_DP_USER_DIR>: <HDFS_DP_USER_DIR>は、bdd.confに定義されているHDFS_DP_USER_DIRの値です。
    両方のディレクトリの所有者は、すべてのBDDプロセスを実行するLinuxユーザーである必要があり、そのグループはsupergroupである必要があります。
  3. すべてのBDDプロセスを実行するLinuxユーザーを、全BDDノードのhdfsおよびhiveグループに追加します。
  4. HDPを使用する場合、BDDユーザーが属するグループを、core-site.xmlhadoop.proxyuser.hive.groupsプロパティに追加します。
    これはAmbariで行うことができます。
  5. BDDのプリンシパルを作成します。
    プライマリ・コンポーネントは、すべてのBDDプロセスを実行するLinuxユーザーの名前である必要があり、レルムは、デフォルト・レルムである必要があります。
  6. BDDプリンシパルのキータブ・ファイルを生成し、それを管理サーバーに移動します。
    この情報は実行時にbdd-adminスクリプトに渡されるため、このファイルの名前と場所は任意です。
  7. krb5.confファイルを、すべてのBDDノード上の同じ場所にコピーします。
    場所は任意ですが、デフォルトは/etcです。
  8. 管理サーバー上で、$BDD_HOME/BDD_manager/binに移動し、次を実行します。
    ./bdd-admin.sh publish-config kerberos on -k <krb5> -t <keytab> -p <principal>
    説明:
    • <krb5>は、すべてのBDDノード上のkrb5.confへの絶対パスです
    • <keytab>は、管理サーバー上のBDDキータブ・ファイルへの絶対パスです
    • <principal>は、BDDプリンシパルです
    このスクリプトは、BDDの構成ファイルをプリンシパルの名前およびkrb5.confファイルの場所で更新します。また、キータブ・ファイルの名前をbdd.keytabに変更し、それをすべてのBDDノード上の$BDD_HOME/common/kerberosに配信します。
  9. HDPを使用する場合、core-site.xmlに行われた変更を公開します。
    ./bdd-admin.sh publish-config hadoop
  10. 変更を有効にするために、クラスタを再起動します。
    ./bdd-admin.sh restart
    前述のコマンドにより、クラスタは正常に停止します。これには長時間かかることがあります。オプションで、-t <minutes>を指定して、より早く強制的に停止することもできます。

Kerberosが有効になると、bdd-adminスクリプトを使用して、必要に応じてその構成を更新できます。詳細は、kerberosを参照してください。