次の方法で共有


カスタム 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 スキーマにテーブルが含まれていてはいけません。
  • データベースへの接続に使用するユーザーには、データベースに対する SELECT、CREATE TABLE、INSERT、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 のパスワードを変更しないでください。 これはサポートされていません。

Note

Ambari 用の SQL データベースでの認証にマネージド ID を使用することができます。 詳細については、「Azure HDInsight での SQL Database 認証にマネージド ID を使用する」を参照してください。

カスタム 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 サポートに問い合わせる サポートに問い合わせる

次のステップ