カスタム Ambari DB を使用して HDInsight クラスターを設定する

Apache Ambari を使用すると、Apache Hadoop クラスターを簡単に管理および監視できます。 Apache Ambari には、使いやすい Web UI と REST API が用意されています。 Ambari は HDInsight クラスターに含まれ、クラスターの監視と構成の変更を行うために使用します。

他の記事 (HDInsight でのクラスターの設定に関する記事など) で説明されているように、通常のクラスターの作成では、Ambari は HDInsight によって管理され、ユーザーがアクセスできない S0 Azure SQL Database にデプロイされます。

カスタム Ambari DB 機能を使用すると、新しいクラスターをデプロイし、自分が管理する外部データベースに Ambari を設定できます。 デプロイには、Azure Resource Manager テンプレートを使用します。 この機能には、次のような利点があります。

  • カスタマイズ - データベースのサイズと処理容量を選択します。 大規模なクラスターで大量のワークロードを処理している場合は、性能の低い Ambari データベースが管理操作のボトルネックになる可能性があります。
  • 柔軟性 - 必要に応じて、要件に合わせてデータベースをスケーリングできます。
  • 管理 - データベースのバックアップとセキュリティを、組織の要件に合った方法で管理できます。

この記事の残りの部分では、次の点について説明します。

  • カスタム Ambari DB 機能を使用するための要件
  • Apache Ambari 用の独自の外部データベースを使用して HDInsight クラスターをプロビジョニングするために必要な手順

カスタム Ambari DB の要件

すべてのクラスターの種類とバージョンでカスタム Ambari DB をデプロイできます。 複数のクラスターで同じ Ambari DB を使用することはできません。

カスタム Ambari DB には、これ以外に次の要件があります。

  • データベースの名前にハイフンまたはスペースを含めることはできません
  • 既存の Azure SQL DB サーバーとデータベースが必要です。
  • Ambari の設定用に指定するデータベースは、空である必要があります。 既定の dbo スキーマにテーブルが含まれていてはいけません。
  • データベースへの接続に使用するユーザーには、データベースに対する Standard Edition LECT、CREATE TABLE、IN Standard Edition RT、UPDATE、DELETE、ALTER ON SCHEMA、REFERENCES ON SCHEMA 権限が必要です。
GRANT CREATE TABLE TO newuser;
GRANT INSERT TO newuser;
GRANT SELECT TO newuser;
GRANT UPDATE TO newuser;
GRANT DELETE TO newuser;
GRANT ALTER ON SCHEMA::dbo TO newuser;
GRANT REFERENCES ON SCHEMA::dbo TO newuser;
  • Ambari をホストするサーバー上で [Azure サービスへのアクセスを許可] オプションをオンにします。
  • ファイアウォール規則で、HDInsight サービスからの管理 IP アドレスを許可する必要があります。 サーバーレベルのファイアウォール規則に追加する必要がある IP アドレスの一覧については、「HDInsight の管理 IP アドレス」を参照してください。

Apache Ambari DB を外部データベースでホストする場合は、次の点に注意してください。

  • Ambari を保持する Azure SQL DB の追加コストの責任はお客様にあります。
  • カスタム Ambari DB を定期的にバックアップします。 Azure SQL Database ではバックアップが自動的に生成されますが、バックアップのリテンション期間は異なります。 詳しくは、「SQL Database 自動バックアップについての詳細情報」をご覧ください。
  • HDInsight クラスターが実行中の状態に達した後は、カスタム Ambari DB のパスワードを変更しないでください。 [ローカル サービス] アカウントでの実行はサポートされません。

カスタム Ambari DB を使用するクラスターをデプロイする

独自の外部 Ambari データベースを使用する HDInsight クラスターを作成するには、カスタム Ambari DB クイックスタート テンプレートを使用します。

azuredeploy.parameters.json 内のパラメーターを編集して、新しいクラスターと、Ambari を保持するデータベースに関する情報を指定します。

Azure CLI を使用してデプロイを開始できます。 <RESOURCEGROUPNAME> を、クラスターをデプロイするリソース グループに置き換えます。

az deployment group create --name HDInsightAmbariDBDeployment \
    --resource-group <RESOURCEGROUPNAME> \
    --template-file azuredeploy.json \
    --parameters azuredeploy.parameters.json

警告

HDInsight クラスターには、以下に示した推奨 SQL DB およびヘッド ノード VM を使用してください。 運用環境では既定の Ambari DB (S0) を使用しないでください。

データベースとヘッドノードのサイズ設定

次の表は、HDInsight クラスターのサイズに基づいて、どの Azure SQL DB 層を選択すべきかに関するガイドラインを示しています。

ワーカー ノードの数 必要な DB 層 必要なヘッドノード VM
<=4 S0 4 コア、28 GB RAM 以上
>4 & <=8 S1 4 コア、28 GB RAM 以上
>8 & <=16 S2 4 コア、28 GB RAM 以上
>16 & <=32 S3 8 コア、56 GB RAM 以上
>32 & <=64 S4 8 コア、56 GB RAM 以上
>64 & <=128 P2 16 コア、112 GB RAM 以上
>128 サポートに問い合わせる サポートに問い合わせる

次のステップ