Hadoop、Spark、Kafka などの HDInsight クラスターをセットアップする

Hadoop、Spark、Kafka、Interactive Query、HBase、R Server、Storm の HDInsight クラスターをセットアップして構成する方法について説明します。 クラスターをドメインに参加させて、クラスターをカスタマイズしたりセキュリティを強化したりする方法についても説明します。

Hadoop クラスターは、タスクの分散処理に使用される複数の仮想マシン (ノード) で構成されます。 各ノードのインストールと構成にかかわる細部の実装は Azure HDInsight が担うため、ユーザーは一般的な構成情報を指定するだけで済みます。

重要

HDInsight クラスターの課金は、クラスターが作成されると開始し、クラスターが削除されると停止します。 課金は分単位なので、クラスターを使わなくなったら必ず削除してください。 詳細については、クラスターの削除方法に関するページを参照してください。

クラスターのセットアップ方法

次の表は、HDInsight クラスターのセットアップに使用できる各種の方法を示しています。

クラスターの作成方法 Web ブラウザー コマンド ライン REST API SDK
Azure ポータル      
Azure Data Factory
Azure CLI      
Azure PowerShell      
cURL    
.NET SDK      
Azure リソース マネージャーのテンプレート      

簡易作成: 基本的なクラスターのセットアップ

この記事では、Azure Portal でのセットアップ方法を説明します。"簡易作成" または "カスタム" を使用して HDInsight クラスターを作成することができます。

画面の指示に従って、基本的なクラスターのセットアップを行います。 以降、次の情報について詳しく説明します。

重要

Linux は、バージョン 3.4 以上の HDInsight で使用できる唯一のオペレーティング システムです。 詳細については、HDInsight 3.3 の廃止に関するページを参照してください。

リソース グループ名

Azure Resource Manager を使用すると、アプリケーション内の複数のリソースを、Azure リソース グループと呼ばれる 1 つのグループとして使用できます。 アプリケーションのこれらすべてのリソースを、1 回の連携した操作でデプロイ、更新、監視、または削除できます。

クラスターの種類と構成

現在、Azure HDInsight では、以下の種類のクラスターを提供しています。それぞれのクラスターは特定の機能を提供する一連のコンポーネントを備えています。

重要

HDInsight クラスターには、さまざまな種類があり、それぞれ単一のワークロードまたはテクノロジに対応しています。 複数の種類 (Storm と HBase など) を組み合わせたクラスターを作成することはできません。 複数の種類の HDInsight クラスターにまたがるテクノロジがソリューションに必要な場合は、必要な種類のクラスターを Azure 仮想ネットワークで接続してください。

クラスターの種類 機能
Hadoop 格納されたデータのバッチ クエリとバッチ分析
HBase 大量のスキーマレス NoSQL データの処理
Storm リアルタイム イベント処理
Spark メモリ内処理、対話型クエリ、マイクロバッチ ストリーム処理
Kafka (プレビュー) リアルタイムのストリーミング データ パイプラインとアプリケーションの構築に使用できる分散ストリーム プラットフォーム
R Server さまざまなビッグ データ統計、予測モデリング、機械学習の機能
Interactive Query 対話型で高速な Hive クエリのメモリ内キャッシュ

各クラスターの種類のノード数

クラスターのノード数、ノードを表す用語、既定の VM サイズは、クラスターの種類によって異なります。 次の表では、各ノードの種類のノード数がかっこ内に示されています。

Nodes ダイアグラム
Hadoop は、 ヘッド ノード (2)、データ ノード (1 以上) HDInsight Hadoop クラスター ノード
HBase ヘッド サーバー (2)、リージョン サーバー (1 以上)、マスター/ZooKeeper ノード (3) HDInsight HBase クラスター ノード
Storm Nimbus ノード (2)、Supervisor サーバー (1 以上)、ZooKeeper ノード (3) HDInsight Storm クラスター ノード
Spark ヘッド ノード (2)、ワーカー ノード (1 以上)、ZooKeeper ノード (3) (A1 ZooKeeper VM サイズでは無料) HDInsight Spark クラスター ノード

詳細については、HDInsight における Hadoop のコンポーネントとバージョンに関するページの「Default node configuration and virtual machine sizes for clusters (クラスターの既定のノード構成と仮想マシン サイズ)」を参照してください。

HDInsight のバージョン

このクラスターの HDInsight のバージョンを選択します。 詳細については、「サポートされる HDInsight のバージョン」を参照してください。

クラスター レベル: HDInsight のサービス レベル

Azure HDInsight では、Standard と Premium の 2 つのサービス レベルでビッグ データ クラウド サービスを提供します。 詳細については、「HDInsight Standard と HDInsight Premium」を参照してください。

次のスクリーンショットは、クラスターの種類を選択するための Azure ポータルの情報を示しています。

HDInsight Premium の構成

クラスター ログインと SSH ユーザー名

HDInsight クラスターでは、クラスターの作成時に次の 2 つのユーザー アカウントを構成できます。

  • HTTP ユーザー: 既定のユーザー名は admin です。Azure Portal の基本的な構成を使用します。 "クラスター ユーザー" と呼ばれることもあります。
  • SSH ユーザー (Linux クラスター): SSH を使用してクラスターに接続する際に使用します。 詳細については、HDInsight での SSH の使用に関するページを参照してください。

クラスターとストレージの場所 (リージョン)

クラスターの場所を明示的に指定する必要はありません。クラスターは、既定のストレージと同じ場所に存在します。 サポートされているリージョンのリストについては、「 HDInsight の価格 」の [リージョン]ドロップダウン リストをクリックしてください。

クラスターのストレージ エンドポイント

クラスターのストレージには、Hadoop のオンプレミス環境では Hadoop 分散ファイル システム (HDFS) が使用されますが、クラウドでは、クラスターに接続されたストレージ エンドポイントを使用します。 HDInsight クラスターで使用されるのは、Azure Data Lake StoreAzure Storage の BLOB のいずれかとなります。 Azure Storage または Data Lake Store を使用するということは、必要なデータは維持したまま、計算に使用された HDInsight クラスターを安全に削除できるということです。

警告

HDInsight クラスター以外の場所で追加のストレージ アカウントを使用することはできません。

構成時、既定のストレージ エンドポイントには、Azure ストレージ アカウントまたは Data Lake Store の BLOB コンテナーを指定します。 既定のストレージには、アプリケーション ログとシステム ログが格納されます。 それとは別に、クラスターからアクセスできるリンクされた Azure ストレージ アカウントまたは Data Lake Store アカウントを必要に応じて指定することもできます。 HDInsight クラスターとそのクラスターで使用されるストレージ アカウントは、同じ Azure リージョンに存在している必要があります。

クラスター ストレージの設定: HDFS と互換性のあるストレージ エンドポイント

注意

"安全な転送が必須" 機能は、アカウントへのすべての要求が安全な接続を経由することを強制します。 この機能は、HDInsight クラスター バージョン 3.6 以降でのみサポートされます。 詳細については、「Azure HDInsight の安全な転送のストレージ アカウントで Hadoop クラスターを作成する」を参照してください。

metastore (任意)

Hive metastore または Oozie metastore を作成できます (任意)。 ただし、クラスターの種類によっては metastore がサポートされません。また Azure SQL Data Warehouse は metastore と互換性がありません。

重要

カスタム metastore を作成するとき、ダッシュ、ハイフン、またはスペースをデータベース名に使用しないでください。 クラスター作成プロセスが失敗する可能性があります。

Hive metastore

HDInsight クラスターを削除した後も Hive テーブルを保持する場合は、カスタムの metastore を使用することをお勧めします。 その metastore を別の HDInsight クラスターにアタッチすることができます。

あるバージョンの HDInsight クラスター用に作成された HDInsight metastore は、別の HDInsight クラスター バージョン間で共有できません。 HDInsight のバージョンの一覧は、「サポートされる HDInsight のバージョン」をご覧ください。

Oozie メタストア

Oozie の使用時にパフォーマンスを向上させるには、カスタム メタストアを使用します。 また、metastore を使用すると、クラスターの削除後に、Oozie ジョブ データにアクセスすることができます。

重要

カスタム Oozie メタストアを再利用することはできません。 カスタム Oozie メタストアを使用するには、HDInsight クラスターの作成時に空の Azure SQL Database を提供する必要があります。

クラスター サイズの構成

ノードの使用に対する料金は、クラスターが存在する限り発生します。 課金はクラスターが作成されると開始され、クラスターが削除されると停止されます。 クラスターを割り当て解除または保留にすることはできません。

HDInsight クラスターのコストは、ノード数とノードの仮想マシンのサイズによって決まります。

クラスターの種類によって、ノードの種類、ノード数、ノード サイズが異なります。

  • 種類が Hadoop のクラスターにおける既定のノード数:
    • "ヘッド ノード" (x 2)
    • "データ ノード" (x 4)
  • 種類が Storm のクラスターにおける既定のノード数:
    • "Nimbus ノード" (x 2)
    • "Zookeeper ノード" (x 3)
    • "スーパーバイザー ノード" (x 4)

HDInsight を試すだけの目的ならば、使用するデータ ノードは 1 つにすることをお勧めします。 HDInsight の価格の詳細については、「 HDInsight 価格」をご覧ください。

注意

クラスター サイズの制限は、Azure サブスクリプションによって異なります。 制限値を上げるには、Azure の課金サポートにお問い合わせください。

Azure Portal を使用してクラスターを構成するときに、[ノード価格レベル] ブレードでノード サイズを利用できます。 また、別のノード サイズに関連するコストをポータルで確認することもできます。

HDInsight VM ノードのサイズ

仮想マシン サイズ

クラスターをデプロイするとき、デプロイ予定のソリューションに応じてコンピューティング リソースを選択します。 HDInsight クラスターには次の VM が使用されます。

各種の SDK または Azure PowerShell を使用してクラスターを作成する際、VM サイズの指定で必要となる値については、HDInsight クラスターに使用する VM サイズに関するページを参照してください。 リンク先の記事に掲載されている表の「サイズ」列の値を使用します。

重要

1 つのクラスターで 32 個を超えるワーカー ノードが必要な場合、コア数が 8 個以上で RAM が 14 GB 以上のサイズのヘッド ノードを選択する必要があります。

詳細については、 仮想マシンのサイズに関するページをご覧ください。 さまざまなサイズの価格については、「HDInsight の価格」をご覧ください。

カスタム クラスターのセットアップ

カスタム クラスターのセットアップには、[簡易作成] の設定に次のオプションが加わります。

クラスターへの HDInsight アプリケーションのインストール

HDInsight アプリケーションは、ユーザーが Linux ベースの HDInsight クラスターにインストールすることのできるアプリケーションです。 Microsoft やサード パーティから提供されたアプリケーションのほか、独自に開発したアプリケーションを使用することができます。 詳細については、「Azure HDInsight へのサード パーティ製 Hadoop アプリケーションのインストール」を参照してください。

HDInsight のアプリケーションのほとんどは、空のエッジ ノードにインストールされます。 空のエッジ ノードは、ヘッド ノードの場合と同じクライアント ツールがインストールされ、構成された Linux 仮想マシンです。 エッジ ノードは、クラスターへのアクセス、クライアント アプリケーションのテスト、およびクライアント アプリケーションのホストに使用できます。 詳細については、「 Use empty edge nodes in HDInsight」(HDInsight で空のエッジ ノードを使用する) を参照してください。

詳細設定: スクリプト アクション

追加コンポーネントをインストールするか、作成中にスクリプトを使用してクラスターの構成をカスタマイズできます。 このようなスクリプトは、スクリプト操作を使用して実行します。これは Azure ポータル、HDInsight Windows PowerShell コマンドレット、HDInsight .NET SDK で使用できる構成オプションです。 詳しくは、「Script Action を使って HDInsight をカスタマイズする」をご覧ください。

Mahout や Cascading などの一部のネイティブ Java コンポーネントは、Java アーカイブ (JAR) ファイルとしてクラスター上で実行できます。 これらの JAR ファイルは、Azure Storage に分配し、Hadoop ジョブ送信メカニズムによって HDInsight クラスターに送信できます。 詳細については、 プログラムによる Hadoop ジョブの送信に関するページを参照してください。

注意

HDInsight クラスターへの JAR ファイルのデプロイ、または HDInsight クラスターでの JAR ファイルの呼び出しに関する問題がある場合は、Microsoft サポートにお問い合わせください。

Cascading は HDInsight ではサポートされておらず、Microsoft サポートの対象でもありません。 サポートされているコンポーネントの一覧については、HDInsight で提供されるクラスター バージョンの新機能に関する記事をご覧ください。

場合によっては、作成プロセス中に次の構成ファイルを設定する必要があります。

  • clusterIdentity.xml
  • core-site.xml
  • gateway.xml
  • hbase-env.xml
  • hbase-site.xml
  • hdfs-site.xml
  • hive-env.xml
  • hive-site.xml
  • mapred-site
  • oozie-site.xml
  • oozie-env.xml
  • storm-site.xml
  • tez-site.xml
  • webhcat-site.xml
  • yarn-site.xml

詳細については、「 ブートストラップを使って HDInsight クラスターをカスタマイズする」をご覧ください。

詳細設定: 仮想ネットワークによるクラスターの拡張

複数の種類の HDInsight クラスターにまたがるテクノロジがソリューションに必要な場合は、必要な種類のクラスターを Azure 仮想ネットワークで接続してください。 この構成により、クラスターと、それにデプロイするすべてのコードが互いに通信できるようになります。

Azure の仮想ネットワークの HDInsight との併用の詳細については、Azure の仮想ネットワークを使用した HDInsight 機能の拡張に関するページをご覧ください。

Azure の仮想ネットワーク内で 2 つのクラスターの種類を使用した例の詳細については、Storm と HBase を使用したセンサー データの分析に関するページをご覧ください。 仮想ネットワークの具体的な構成要件など、仮想ネットワークで HDInsight を使用する方法の詳細については、「Azure Virtual Network を使用した HDInsight 機能の拡張」をご覧ください。

アクセス制御に関する問題のトラブルシューティング

HDInsight クラスターの作成で問題が発生した場合は、「アクセス制御の要件」を参照してください。

次のステップ