Kerberosの有効化

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

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

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

  1. kinitおよびkdestroyユーティリティをすべてのBDDノードにインストールします。
  2. HDFSに次のディレクトリを作成します。
    • /user/<bdd><bdd>bddユーザーの名前です。
    • /user/<HDFS_DP_USER_DIR>: <HDFS_DP_USER_DIR>は、bdd.confに定義されているHDFS_DP_USER_DIRの値です。
    両方のディレクトリの所有者はbddユーザーである必要があり、またそのグループはsupergroupでなければなりません。
  3. bddユーザーをすべてのBDDノードのhdfsおよびhiveグループに追加します。
  4. HDPを使用する場合、bddユーザーが属するグループを、core-site.xmlhadoop.proxyuser.hive.groupsプロパティに追加します。
    これはAmbariで行うことができます。
  5. BDDのプリンシパルを作成します。
    プライマリ・コンポーネントはbddユーザーの名前である必要があり、レルムはデフォルト・レルムである必要があります。
  6. BDDプリンシパルのキータブ・ファイルを生成し、それを管理サーバーに移動します。
    この情報は実行時にbdd-adminスクリプトに渡されるため、このファイルの名前と場所は任意です。
  7. krb5.confファイルを、すべてのBDDノード上の同じ場所にコピーします。
    場所は任意ですが、デフォルトは/etcです。
  8. DgraphデータベースがHDFSに格納されている場合は、Dgraphに対してKerberosも有効にする必要があります。管理サーバーで$BDD_HOME/BDD_manager/conf/bdd.confのコピーを作成し、コピーで次のプロパティを編集します。
    プロパティ 説明
    KERBEROS_TICKET_REFRESH_ INTERVAL DgraphのKerberosチケットがリフレッシュされる間隔(分数)。たとえば、60に設定すると、60分ごと、つまり1時間ごとにリフレッシュされます。
    KERBEROS_TICKET_LIFETIME DgraphのKerberosチケットが有効な期間の長さ。これは、数字に続き、サポートされている時間単位を付けて指定する必要があります。サポートされている時間単位は、smhまたはdです。たとえば、10h (10時間)または10m (10分)などです。
    次に$BDD_HOME/BDD_manager/binに移動し、次を実行します。
    ./bdd-admin.sh publish-config <path>
    <path>は、bdd.confの変更されたコピー・バージョンへの絶対パスです。
  9. $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に配信します。
  10. HDPを使用する場合、core-site.xmlに行われた変更を公開します。
    ./bdd-admin.sh publish-config hadoop
  11. 変更を有効にするために、クラスタを再起動します。
    ./bdd-admin.sh restart [-t <minutes>]

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