HDInsight のしくみ

完了

HDInsight は、既定で高可用性とセキュリティが確保された、クラウド分散データ処理システムです。 このシステムの中核となるのは Apache Hadoop です。 Apache Hadoop には、2 つのコア コンポーネントが含まれています。ストレージに使用される Apache Hadoop 分散ファイル システム (HDFS) と、処理を提供する Apache Hadoop Yet Another Resource Negotiator (YARN) です。 さらに、データの処理と分析を行うためのシンプルな MapReduce プログラミング モデルもあります。 MapReduce を使用する利点は、設定が簡単であることと、自動スケール機能を使用してコストを抑制できることにあります。

A conceptual view of the HDInsight architecture

ストレージ

ストレージの側面は、HDInsight クラスターをプロビジョニングするときに自動的に作成されることはありません。 代わりに、Azure Storage や Azure Data Lake などの HDFS に準拠したシステムによって提供されます。 処理レイヤーからストレージを分離すると、計算に使用される HDInsight クラスターを削除してもユーザー データは失われません。 HDInsight クラスターを追加する場合は、既定のファイル システムを定義する必要があります。 必要に応じてファイル システムをリンクおよびリンク解除して、ストレージのサイズを大きくすることができます。

次の情報は、HDInsight 3.6 以上に固有のものです。 HDInsight クラスターの作成プロセス時に、既定のファイル システムとして Azure Storage または Azure Data Lake Storage Gen2 を選択できますが、いくつか例外があります。 既定のファイル システムを提供すると、ファイルを検索するときに確実に相対ファイル参照を解決できます。 Azure Storage には、既定のファイル システムとして BLOB コンテナーを指定する必要があります。

HDInsight storage options

ほとんどの設定では、Azure Data Lake Storage Gen2 が使用されます。 この種類の設定では、Hadoop、Microsoft Entra 統合、および POSIX ベースのアクセス制御リスト (ACL) と互換性のあるファイル システムのコア機能が使用されます。 旧バージョンとの互換性のために Azure Blob Storage を使用できますが、可能な限り Azure Data Lake Storage Gen2 を使用することを強くお勧めします。

処理

データを処理するときに、HDInsight 上の Hadoop クラスターの計算の側面は、 ヘッド (マスター) ノードとワーカー ノードです。 ヘッド (マスター) ノードでは、クライアント要求の受け入れと管理が行われ、データの処理を実行するためにワーカー ノードに要求が渡されます。 通常、マスター ノードは 2 つあります。 クライアント接続を管理するアクティブ マスター ノードと、 プライマリがオフラインになる可能性がある場合に回復力を提供する 2 つ目のパッシブ マスター ノードです。

HDInsight node types

ワーカー ノードでは、マスター ノードによって割り当てられたデータの処理が行われます。 管理されるデータは、MapReduce プログラミング モデルによってデータの操作方法がどのように定義されているか、およびマスター ノードによって作業がどのように割り当てられるかによって異なります。 ヘッド ノードとワーカー ノードは両方とも、ローカルに接続された分散ファイル システム (DFS) に直接接続することも、Azure BLOB または Azure Data Lake に格納されているデータにアクセスすることもできます。

OSS の観点からは、HDInsight クラスターのリソース管理機能は YARN によって実行されます。 このサービスにより、データの処理時に実行されるリソースとジョブのスケジュール設定が管理されます。 これは、HDFS と HDInsight クラスターの計算システムの間に配置されます。 このサービスと他の OSS テクノロジとの連携により、HDInsight ジョブを処理するためのリソースが確実に使用可能になります。 YARN とヘッド ノードとの連携により、クラスターのワーカー ノード全体にジョブが分散されて、データ処理ジョブの並列化が確保されます。

HDFS、YARN、および MapReduce は、HDInsight 上の Hadoop に必要な 3 つのコア サービスです。 通常は、ソリューションを簡単に作成できるように、追加の OSS テクノロジを使用します。 たとえば、抽象化レイヤーとして Hive を使用できます。 これは、アドホックなデータの処理と分析を実行するための SQL 型言語コンストラクトを作成できるように、MapReduce の上に配置されます。 または、Apache Ambari を使用して、HDInsight クラスターで監視を実行できます。