Azure への Hadoop の移行

Apache Hadoop には、MapReduce 手法を使用して非常に大きなデータ セットを分析および変換するための分散ファイル システムとフレームワークが用意されています。 Hadoop の重要な特徴は、多数 (数千) のホストに渡ってデータと計算がパーティション分割されることです。 計算は、データの近くで並列に実行されます。 Hadoop クラスターでは、汎用ハードウェアを追加するだけで、計算容量、ストレージ容量、 I/O 帯域幅をスケーリングできます。

この記事では、Hadoop を Azure に移行する方法の概要について説明します。 このセクションの他の記事では、特定の Hadoop コンポーネントの移行ガイダンスを提供します。 これらは次のとおりです。

Hadoop では、サービスとフレームワークの広範なエコシステムを提供しています。 これらの記事では、Hadoop コンポーネントとその Azure 実装について詳しくは説明しません。 代わりに、オンプレミスとクラウドの Hadoop アプリケーションを Azure に移行するための開始点として機能する、大まかなガイダンスと考慮事項について説明します。

Apache®、Apache Spark®Apache Hadoop®Apache HBaseApache HiveApache Ranger®Apache Sentry®Apache ZooKeeper®Apache Storm®Apache Sqoop®Apache Flink®Apache Kafka®、および炎のロゴは、Apache Software Foundation の米国およびその他の国における登録商標または商標です。 これらのマークを使用することが、Apache Software Foundation による保証を意味するものではありません。

Hadoop コンポーネント

Hadoop システムの主要なコンポーネントを次の表に示します。 コンポーネントごとに、簡単な説明と次のような移行情報があります。

  • 移行戦略を決定するための決定フローチャートへのリンク
  • 使用可能な Azure ターゲット サービスの一覧
コンポーネント 説明 決定フローチャート 対象となる Azure サービス
Apache HDFS 分散ファイル システム データ移行の計画データ移行前の事前チェック Azure Data Lake Storage
Apache HBase 列指向テーブル サービス Apache HBase のランディング ターゲットの選択Azure での Apache HBase のストレージの選択 仮想マシン (VM) 上の HBase、Azure HDInsight の HBase、Azure Cosmos DB
Apache Spark データ処理フレームワーク Azure での Apache Spark のランディング ターゲットの選択 HDInsight の Spark、Azure Synapse Analytics、Azure Databricks
Apache Hive データ ウェアハウス インフラストラクチャ Hive のランディング ターゲットの選択Hive メタデータのターゲット DB の選択 VM 上の Hive、HDInsight の Hive、Azure Synapse Analytics
Apache Ranger データ セキュリティを監視および管理するためのフレームワーク HDInsight 用の Enterprise セキュリティ パッケージ、Microsoft Entra ID、VM 上の Ranger
Apache Sentry データ セキュリティを監視および管理するためのフレームワーク Azure での Apache Sentry のランディング ターゲットの選択 VM 上の Sentry と Ranger、HDInsight 用の Enterprise セキュリティ パッケージ、Microsoft Entra ID
Apache MapReduce 分散計算フレームワーク MapReduce、Spark
Apache Zookeeper 分散調整サービス VM 上の ZooKeeper、サービスとしてのプラットフォーム (PaaS) 内の組み込みソリューション
Apache YARN Hadoop エコシステムのリソース マネージャー VM 上の YARN、PaaS 内の組み込みソリューション
Apache Sqoop Apache Hadoop クラスターとリレーショナル データベースの間でデータを転送するためのコマンド ライン インターフェイス ツール Azure での Apache Sqoop のランディング ターゲットの選択 VM 上の Sqoop、HDInsight の Sqoop、Azure Data Factory
Apache Kafka 高度にスケーラブルなフォールト トレラント分散メッセージング システム Azure での Apache Kafka のランディング ターゲットの選択 VM 上の Kafka、Kafka 用の Event Hubs、HDInsight 上の Kafka
Apache Atlas データ ガバナンスとメタデータ管理のためのオープン ソース フレームワーク Azure Purview

移行方法

次の図は、Hadoop アプリケーションを移行するための 3 つの方法を示しています。

Hadoop アプリケーションを移行する 3 つの方法を示す図。

このアーキテクチャの Visio ファイルをダウンロードします。

アプローチは次のとおりです。

Azure Synapse Analytics と Databricks を使用した最新化

この手法を次の図に示します。

Azure Synapse Analytics と Databricks を使用して最新化するためのアーキテクチャの図。

このアーキテクチャの Visio ファイルをダウンロードします。

HDInsight へのリフト アンド シフト

この手法を次の図に示します。

HDInsight にリフト アンド シフトして最新化するためのアーキテクチャの図。

このアーキテクチャの Visio ファイルをダウンロードします。

詳細については、「オンプレミスの Apache Hadoop クラスターを Azure HDInsight に移行する」を参照してください。

サービスとしての Azure インフラストラクチャ (IaaS) へのリフト アンド シフト

次のパターンは、Active Directory、ドメイン コントローラー、DNS などのオンプレミス システムに緊密に統合された OSS を Azure IaaS にデプロイする方法に関する観点を示しています。 このデプロイは、Microsoft のエンタープライズ規模のランディング ゾーン ガイダンスに従います。 監視、セキュリティ、ガバナンス、ネットワークなどの管理機能は、管理サブスクリプション内でホストされます。 すべての IaaS ベースのワークロードは、別のサブスクリプションでホストされます。 エンタープライズ規模のランディング ゾーンの詳細については、「Azure ランディング ゾーンとは」を参照してください。

Azure IaaS にリフト アンド シフトするためのアーキテクチャの図。

このアーキテクチャの Visio ファイルをダウンロードします。

  1. オンプレミスの Active Directory は、オンプレミスでホストされている Microsoft Entra Connect を使用することで Microsoft Entra ID と同期します。
  2. Azure ExpressRoute は、オンプレミスと Azure の間のセキュリティで保護されたプライベート ネットワーク接続を提供します。
  3. 管理 (またはハブ) サブスクリプションは、デプロイのネットワーク機能と管理機能を提供します。 このパターンは、Microsoft のエンタープライズ規模のランディング ゾーン ガイダンスに沿っています。
  4. ハブ サブスクリプション内でホストされるサービスは、ネットワーク接続機能と管理機能を提供します。
    • NTP (Azure VM でホストされている) は、すべての仮想マシン間で時刻の同期を維持するために必要となります。 HBase や ZooKeeper などの複数のアプリケーションを実行する場合は、クラスターでネットワーク タイム プロトコル (NTP) サービスまたは別の時刻同期メカニズムを実行する必要があります。 すべてのノードで、時刻同期に同じサービスを使用する必要があります。 Linux で NTP を設定する手順については、14.6 NTP の基本的な構成を参照してください。
    • Azure Network Watcher には、Azure 仮想ネットワーク内のリソースを監視、診断、管理するためのツールが用意されています。 Network Watcher は、VM、仮想ネットワーク、アプリケーション ゲートウェイ、ロード バランサーなどの IaaS 製品のネットワーク正常性を監視および修復するように設計されています。
    • Azure Advisor では、リソースの構成と使用状況のテレメトリを分析し、Azure リソースの費用対効果、パフォーマンス、信頼性、セキュリティを向上させるためのソリューションを推奨します。
    • Azure Monitor により、クラウドおよびオンプレミス環境のテレメトリを収集、分析、処理する包括的なソリューションが提供されます。 アプリケーションの実行状態を把握し、アプリケーションやその依存リソースに影響を及ぼす問題を事前に突き止めることができます。
    • Log Analytics ワークスペースは、Azure Monitor ログ データ用の固有の環境です。 各ワークスペースには、独自のデータ リポジトリと構成があります。 データ ソースとソリューションは、特定のワークスペースにデータを格納するように構成されます。 次のソースからデータを収集しようとする場合は、Log Analytics ワークスペースが必要です。
      • サブスクリプション内の Azure リソース
      • System Center Operations Manager によって監視されているオンプレミスのコンピューター
      • System Center Configuration Manager のデバイス コレクション
      • Azure Storage からの診断またはログ データ
    • Azure 仮想マシン スケール セットでホストされる Azure DevOps Self-Hosted エージェントは、エージェントが実行されるマシンのサイズとイメージに対する柔軟性を提供します。 仮想マシン スケール セット、スタンバイ状態を維持するエージェントの数、スケール セット内の仮想マシンの最大数を指定します。 エージェントのスケーリングは Azure Pipelines によって自動的に管理されます。
  5. Microsoft Entra ID テナントは、Microsoft Entra Connect 同期サービスを介してオンプレミスの Active Directory と同期されます。 詳細については、「Microsoft Entra Connect Sync: 同期を理解してカスタマイズする」を参照してください。
  6. Microsoft Entra Domain Services (Microsoft Entra Domain Services) は、Azure で LDAP と Kerberos の機能を提供します。 Microsoft Entra Domain Services を初めてデプロイするときに、Microsoft Entra ID からオブジェクトをレプリケートするための一方向の自動同期が構成されます。 この一方向の同期は、Microsoft Entra ID からのすべての変更を反映して Microsoft Entra Domain Services マネージド ドメインを最新の状態に保つために、バックグラウンドで実行され続けます。 Microsoft Entra Domain Services から Microsoft Entra ID への同期は行われません。
  7. Azure DNSMicrosoft Defender for CloudAzure Key Vault などのサービスは、管理サブスクリプション内に配置され、それぞれサービス/IP アドレス解決、統合インフラストラクチャのセキュリティ管理、証明書機能とキー管理機能を提供します。
  8. Virtual Network ピアリングは、管理 (ハブ) とワークロード (スポーク) の 2 つのサブスクリプションにデプロイされた仮想ネットワーク間の接続を提供します。
  9. エンタープライズ規模のランディング ゾーンに合わせて、アプリケーションのワークロードをホストするためにワークロード サブスクリプションが使用されます。
  10. Azure Data Lake Storage は、ビッグ データ分析を行うために Azure Blob Storage に構築された一連の機能です。 ビッグ データ ワークロードのコンテキストでは、Data Lake Storage を Hadoop のセカンダリ ストレージとして使用できます。 Data Lake Storage に書き込まれたデータは、Hadoop フレームワークの外部にある他の Azure サービスで使用できます。
  11. ビッグ データ ワークロードは、独立した一連の Azure 仮想マシンでホストされます。 詳細については、Azure IaaS 上の HdFSHBaseHiveRangerSpark のガイダンスを参照してください。
  12. Azure DevOps は、サービスとしてのソフトウェア (SaaS) オファリングであり、計画と開発からテストとデプロイまで、ソフトウェア プロジェクトを管理するためのサービスとツールの統合セットを提供します。

最終状態の参照アーキテクチャ

オンプレミスの Hadoop から Azure にワークロードを移行する場合の課題の 1 つは、望ましい最終状態のアーキテクチャとアプリケーションを実現するためにデプロイすることです。 「Azure PaaS での Hadoop の移行」で説明されているプロジェクトは、PaaS サービスとアプリケーションをデプロイするために通常必要な多大な労力を削減することを目的としています。

このプロジェクトでは、Azure 上のビッグ データ ワークロードの最終状態のアーキテクチャを確認し、Bicep テンプレートのデプロイで使用されるコンポーネントの一覧を示します。 Bicep では、アーキテクチャをデプロイするために必要なモジュールのみがデプロイされます。 テンプレートの前提条件と、ワンクリック、Azure CLI、GitHub Actions、Azure DevOps Pipeline など、Azure にリソースをデプロイするためのさまざまな方法について説明します。

共同作成者

この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。

プリンシパルの作成者:

  • Namrata Maheshwary | シニア クラウド ソリューション アーキテクト
  • Raja N | ディレクター、カスタマー サクセス
  • Hideo Takagi | クラウド ソリューション アーキテクト
  • Ram Yerrabotu | シニア クラウド ソリューション アーキテクト

その他の共同作成者:

  • Ram Baskaran | シニア クラウド ソリューション アーキテクト
  • Jason Bouska | シニア ソフトウェア エンジニア
  • Eugene Chung | シニア クラウド ソリューション アーキテクト
  • Pawan Hosatti | シニア クラウド ソリューション アーキテクト - エンジニアリング
  • Daman Kaur | クラウド ソリューション アーキテクト
  • Danny Liu | シニア クラウド ソリューション アーキテクト - エンジニアリング
  • Jose Mendez | シニア クラウド ソリューション アーキテクト
  • Ben Sadeghi | シニア スペシャリスト
  • Sunil Sattiraju | シニア クラウド ソリューション アーキテクト
  • Amanjeet Singh | プリンシパル プログラム マネージャー
  • Nagaraj Seeplapudur Venkatesan | シニア クラウド ソリューション アーキテクト - エンジニアリング

パブリックでない LinkedIn プロファイルを表示するには、LinkedIn にサインインします。

次の手順

Azure 製品の概要

Azure 製品のリファレンス

その他