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