オンプレミスの Apache Hadoop クラスターの Azure HDInsight への移行 - 動機と利点Migrate on-premises Apache Hadoop clusters to Azure HDInsight - motivation and benefits

この記事は、オンプレミスの Apache Hadoop エコシステム展開を Azure HDInsight に移行するためのベスト プラクティスに関する一連の記事の最初の記事です。This article is the first in a series on best-practices for migrating on-premises Apache Hadoop eco-system deployments to Azure HDInsight. この一連の記事は、Azure HDInsight での Apache Hadoop ソリューションの設計、展開、および移行を担当する責任者を対象としています。This series of articles is for people who are responsible for the design, deployment, and migration of Apache Hadoop solutions in Azure HDInsight. これらの記事が有益になる可能性がある役職として、クラウド アーキテクト、Hadoop 管理者、および DevOps エンジニアなどがあります。The roles that may benefit from these articles include cloud architects, Hadoop administrators, and DevOps engineers. さまざまな種類のクラスターがクラウド内でどのように機能するかについての説明は、ソフトウェア開発者、データ エンジニア、データ サイエンティストにとっても有益です。Software developers, data engineers, and data scientists should also benefit from the explanation of how different types of clusters work in the cloud.

Azure HDInsight に移行する理由Why to migrate to Azure HDInsight

Azure HDInsight は、Hadoop コンポーネントのクラウド ディストリビューションです。Azure HDInsight is a cloud distribution of Hadoop components. Azure HDInsight によって大量のデータを簡単かつ迅速に高いコスト効率で処理できるようになります。Azure HDInsight makes it easy, fast, and cost-effective to process massive amounts of data. HDInsight には、好評を博している次のようなオープン ソース フレームワークが含まれています。HDInsight includes the most popular open-source frameworks such as:

  • Apache HadoopApache Hadoop
  • Apache SparkApache Spark
  • Apache Hive with LLAPApache Hive with LLAP
  • Apache KafkaApache Kafka
  • Apache StormApache Storm
  • Apache HBaseApache HBase
  • RR

オンプレミスの Hadoop に勝る Azure HDInsight の利点Azure HDInsight advantages over on-premises Hadoop

  • 低コスト - クラスターをオンデマンドで作成して使用する分だけ料金を支払うことでコストを削減できます。Low cost - Costs can be reduced by creating clusters on demand and paying only for what you use. データの計算と記憶を切り離すことで、データ ボリュームがクラスター サイズに依存しなくなり、柔軟性が生まれます。Decoupled compute and storage provides flexibility by keeping the data volume independent of the cluster size.

  • クラスターの自動作成 - クラスターの自動作成によって、セットアップと構成が最小限で済みます。Automated cluster creation - Automated cluster creation requires minimal setup and configuration. 自動化はオンデマンド クラスターで使用できます。Automation can be used for on-demand clusters.

  • ハードウェアと構成の管理 - HDInsight クラスターでは物理的なハードウェアやインフラストラクチャへの心配は不要です。Managed hardware and configuration - There's no need to worry about the physical hardware or infrastructure with an HDInsight cluster. クラスターの構成さえ指定すれば、設定は Azure が行います。Just specify the configuration of the cluster, and Azure sets it up.

  • 簡単に拡張できる - HDInsight ではワークロードの スケールを増減できます。Easily scalable - HDInsight enables you to scale workloads up or down. データの再配布およびワークロードの再均衡化処理は、データ処理ジョブを中断することなく Azure が行います。Azure takes care of data redistribution and workload rebalancing without interrupting data processing jobs.

  • グローバルに利用可能 - HDInsight は、他のあらゆるビッグ データ分析サービスよりも多くのリージョンで提供されています。Global availability - HDInsight is available in more regions than any other big data analytics offering. Azure HDInsight は、Azure Government、Azure China、Azure Germany でも提供されており、独自の法令が施行されている地域における企業のニーズに応えます。Azure HDInsight is also available in Azure Government, China, and Germany, which allows you to meet your enterprise needs in key sovereign areas.

  • セキュリティとコンプライアンス - HDInsight を使用すると、 Azure Virtual Network、 暗号化、 Azure Active Directory との統合によって、企業のデータ資産を保護することができます。Secure and compliant - HDInsight enables you to protect your enterprise data assets with Azure Virtual Networkencryption, and integration with Azure Active Directory. また HDInsight は、業界や行政上の最も一般的な コンプライアンス基準を満たしています。HDInsight also meets the most popular industry and government compliance standards.

  • バージョン管理を簡略化 - Azure HDInsight は Hadoop エコシステム コンポーネントのバージョンを管理し、最新の状態に保持します。Simplified version management - Azure HDInsight manages the version of Hadoop eco-system components and keeps them up to date. ソフトウェアの更新は、オンプレミスの展開では一般的に複雑なプロセスです。Software updates are usually a complex process for on-premises deployments.

  • コンポーネント間の依存関係が少ない特定のワークロード用に最適化された小さいクラスター - 典型的なオンプレミス Hadoop セットアップでは、多目的に使用できる 1 つのクラスターが使用されます。Smaller clusters optimized for specific workloads with fewer dependencies between components - A typical on-premises Hadoop setup uses a single cluster that serves many purposes. Azure HDInsight では、ワークロード固有のクラスターを作成できます。With Azure HDInsight, workload-specific clusters can be created. 特定のワークロード用のクラスターを作成することによって、ますます複雑化する 1 つのクラスターを維持するための複雑な作業から解消されます。Creating clusters for specific workloads removes the complexity of maintaining a single cluster with growing complexity.

  • 生産性 - お好みの開発環境で Hadoop および Spark 向けのさまざまなツールを使用できます。Productivity - You can use various tools for Hadoop and Spark in your preferred development environment.

  • カスタム ツールまたはサードパーティ製のアプリケーションによる拡張機能 - HDInsight クラスターは、インストールされているコンポーネントを使用して拡張したり、Azure Marketplace からワンクリック 展開を使用することによって他のビッグ データ ソリューションと統合したりできます。Extensibility with custom tools or third-party applications - HDInsight clusters can be extended with installed components and can also be integrated with the other big data solutions by using one-click deployments from the Azure Market place.

  • 管理と監視が容易に - Azure HDInsight は  Azure Monitor ログ と統合することによって、すべてのクラスターを監視できる一元化されたインターフェイスが得られます。Easy management, administration, and monitoring - Azure HDInsight integrates with Azure Monitor logs to provide a single interface with which you can monitor all your clusters.

  • 他の Azure サービスとの統合 - HDInsight は、好評を博している以下の Azure サービスと簡単に統合できます。Integration with other Azure services - HDInsight can easily be integrated with other popular Azure services such as the following:

    • Azure Data Factory (ADF)Azure Data Factory (ADF)
    • Azure Blob StorageAzure Blob Storage
    • Azure Data Lake Storage Gen2Azure Data Lake Storage Gen2
    • Azure Cosmos DBAzure Cosmos DB
    • Azure SQL DatabaseAzure SQL Database
    • Azure Analysis ServicesAzure Analysis Services
  • プロセスとコンポーネントを自動修復 - HDInsight は常に独自の監視インフラストラクチャを使用して、インフラストラクチャとオープン ソース コンポーネントを継続的に確認しています。Self-healing processes and components - HDInsight constantly checks the infrastructure and open-source components using its own monitoring infrastructure. また、オープン ソース コンポーネントやノードが利用できないなどの重大な障害も自動的に回復します。It also automatically recovers critical failures such as unavailability of open-source components and nodes. いずれかの OSS コンポーネントに障害が発生した場合、Ambari でアラートがトリガーされます。Alerts are triggered in Ambari if any OSS component is failed.

詳しくは、記事「Azure HDInsight および Apache Hadoop テクノロジ スタックとは」をご覧ください。For more information, see the article What is Azure HDInsight and the Apache Hadoop technology stack.

移行計画のプロセスMigration planning process

次の手順は、オンプレミス Hadoop クラスターから Azure HDInsight への移行計画で推奨されています。The following steps are recommended for planning a migration of on-premises Hadoop clusters to Azure HDInsight:

  1. 現在のオンプレミス展開およびトポロジを理解します。Understand the current on-premises deployment and topologies.
  2. 現在のプロジェクト スコープ、タイムライン、およびチームの専門知識について理解します。Understand the current project scope, timelines, and team expertise.
  3. Azure の要件を理解します。Understand the Azure requirements.
  4. ベスト プラクティスに基づく詳細な計画を構築します。Build out a detailed plan based on best practices.

移行の準備のために詳細情報を収集するGathering details to prepare for a migration

このセクションでは、次に関する重要な情報を収集するためのアンケートのテンプレートを提供します。This section provides template questionnaires to help gather important information about:

  • オンプレミス展開The on-premises deployment
  • プロジェクトの詳細Project details
  • Azure の要件Azure requirements

オンプレミス展開のアンケートOn-premises deployment questionnaire

質問Question Example 回答Answer
トピック:EnvironmentTopic: Environment
クラスター ディストリビューションのバージョンCluster Distribution version HDP 2.6.5、CDH 5.7HDP 2.6.5, CDH 5.7
ビッグ データ エコシステム コンポーネントBig Data eco-system components HDFS、Yarn、Hive、LLAP、Impala、Kudu、HBase、Spark、MapReduce、Kafka、Zookeeper、Solr、Sqoop、Oozie、Ranger、Atlas、Falcon、Zeppelin、RHDFS, Yarn, Hive, LLAP, Impala, Kudu, HBase, Spark, MapReduce, Kafka, Zookeeper, Solr, Sqoop, Oozie, Ranger, Atlas, Falcon, Zeppelin, R
クラスターの種類Cluster types Hadoop、Spark、Confluent Kafka、Storm、SolrHadoop, Spark, Confluent Kafka, Storm, Solr
クラスターの数Number of clusters 44
マスター ノードの数Number of master nodes 22
ワーカー ノードの数Number of worker nodes 100100
エッジ ノードの数Number of edge nodes 55
ディスク領域の合計Total Disk space 100 TB100 TB
マスター ノード構成Master Node configuration m/y、cpu、ディスクなどm/y, cpu, disk, etc.
データ ノード構成Data Nodes configuration m/y、cpu、ディスクなどm/y, cpu, disk, etc.
エッジ ノード構成Edge Nodes configuration m/y、cpu、ディスクなどm/y, cpu, disk, etc.
HDFS の暗号化?HDFS Encryption? はいYes
高可用性High Availability HDFS HA、Metastore HAHDFS HA, Metastore HA
ディザスター リカバリー / バックアップDisaster Recovery / Backup クラスターのバックアップ?Backup cluster?
クラスターに依存するシステムSystems that are dependent on Cluster SQL Server、Teradata、Power BI、MongoDBSQL Server, Teradata, Power BI, MongoDB
サードパーティによる統合Third-party integrations Tableau、GridGain、Qubole、Informatica、SplunkTableau, GridGain, Qubole, Informatica, Splunk
トピック:セキュリティTopic: Security
境界セキュリティPerimeter security ファイアウォールFirewalls
クラスターの認証と承認Cluster authentication & authorization Active Directory、Ambari、Cloudera Manager、認証なしActive Directory, Ambari, Cloudera Manager, No authentication
HDFS アクセス制御HDFS Access Control 手動、ssh ユーザーManual, ssh users
Hive の認証と承認Hive authentication & authorization Sentry、LDAP、AD と Kerberos、RangerSentry, LDAP, AD with Kerberos, Ranger
監査Auditing Ambari、Cloudera Navigator、RangerAmbari, Cloudera Navigator, Ranger
監視Monitoring Graphite、collectd、statsd、Telegraf、InfluxDBGraphite, collectd, statsd, Telegraf, InfluxDB
アラートAlerting Kapacitor、Prometheus、DatadogKapacitor, Prometheus, Datadog
データの保存期間Data Retention duration 3 年、5 年3 years, 5 years
クラスター管理者Cluster Administrators 単一の管理者、複数の管理者Single Administrator, Multiple Administrators

プロジェクトの詳細のアンケートProject details questionnaire

質問Question Example 回答Answer
トピック:ワークロードと頻度Topic: Workloads and Frequency
MapReduce のジョブMapReduce jobs 1 日 2 回の 10 個のジョブ10 jobs -- twice daily
Hive ジョブHive jobs 1 時間ごとに 100 個のジョブ100 jobs -- every hour
Spark バッチ ジョブSpark batch jobs 15 分ごとに 50 個のジョブ50 jobs -- every 15 minutes
Spark Streaming ジョブSpark Streaming jobs 3 分ごとに 5 個のジョブ5 jobs -- every 3 minutes
Structured Streaming ジョブStructured Streaming jobs 1 分ごとに 5 個のジョブ5 jobs -- every minute
ML モデルのトレーニング ジョブML Model training jobs 1 週間に 1 回 2 個ジョブ2 jobs -- once in a week
プログラミング言語Programming Languages Python、Scala、JavaPython, Scala, Java
スクリプトScripting Shell、PythonShell, Python
トピック:データTopic: Data
データ ソースData sources フラット ファイル、Json、Kafka、RDBMSFlat files, Json, Kafka, RDBMS
データのオーケストレーションData orchestration Oozie ワークフロー、エアフローOozie workflows, Airflow
メモリ内の検索In memory lookups Apache Ignite、RedisApache Ignite, Redis
データの保存先Data destinations HDFS、RDBMS、Kafka、MPPHDFS, RDBMS, Kafka, MPP
トピック:メタデータTopic: Meta data
Hive DB の種類Hive DB type Mysql、PostgresMysql, Postgres
Hive メタストアの数Number of Hive metastores 22
Hive テーブルの数Number of Hive tables 100100
Ranger ポリシーの数Number of Ranger policies 2020
Oozie ワークフローの数Number of Oozie workflows 100100
トピック:スケールTopic: Scale
レプリケーションを含むデータ ボリュームData volume including Replication 100 TB100 TB
日次インジェストの量Daily ingestion volume 50 GB50 GB
データ増加率Data growth rate 年 10%10% per year
クラスター ノード増加率Cluster Nodes growth rate 年 5%5% per year
トピック:クラスター使用率Topic: Cluster utilization
平均 CPU 使用率Average CPU % used 60%60%
平均メモリ使用率Average Memory % used 75%75%
使用済みディスク領域Disk space used 75%75%
平均ネットワーク 使用率Average Network % used 25%25%
トピック:スタッフTopic: Staff
管理者数Number of Administrators 22
開発者数Number of Developers 1010
エンド ユーザー数Number of end users 100100
スキルSkills Hadoop、SparkHadoop, Spark
移行作業に使用可能なリソース数Number of available resources for Migration efforts 22
トピック:制限事項Topic: Limitations
現時点での制限事項Current limitations 待機時間が長いLatency is high
現在の課題Current challenges コンカレンシーの問題Concurrency issue

Azure の要件のアンケートAzure requirements questionnaire

トピック:インフラストラクチャTopic: Infrastructure
質問Question Example 回答Answer
優先リージョンPreferred Region 米国東部US East
VNet を推奨しますか?VNet preferred? はいYes
HA / DR が必要?HA / DR Needed? はいYes
他のクラウド サービスと統合しますか?Integration with other cloud services? ADF、CosmosDBADF, CosmosDB
トピック: データの移動Topic: Data Movement
初期読み込みの基本設定Initial load preference DistCp、データ ボックス、ADF WANDiscoDistCp, Data box, ADF, WANDisco
データ転送の差分Data transfer delta DistCp、AzCopyDistCp, AzCopy
進行中の増分のデータ転送Ongoing incremental data transfer DistCp、SqoopDistCp, Sqoop
トピック: 監視とアラートTopic: Monitoring & Alerting
Azure 監視とアラートまたは統合サード パーティ監視の使用Use Azure Monitoring & Alerting Vs Integrate third-party monitoring Azure 監視とアラートの使用Use Azure Monitoring & Alerting
トピック: セキュリティ設定Topic: Security preferences
プライベートな保護済みのデータ パイプラインですか?Private and protected data pipeline? はいYes
ドメイン参加済みクラスター (ESP) ですか?Domain Joined cluster (ESP)? はいYes
クラウドへのオンプレミス AD Sync ですか?On-Premises AD Sync to Cloud? はいYes
同期する AD ユーザー数?Number of AD users to sync? 100100
パスワードをクラウドに同期しますか?Ok to sync passwords to cloud? はいYes
クラウドのみのユーザー?Cloud only Users? はいYes
MFA が必要ですか?MFA needed? いいえNo
データの承認要件ですか?Data authorization requirements? はいYes
ロール ベースのアクセス制御?Role-Based Access Control? はいYes
監査が必要ですか?Auditing needed? はいYes
保存データの暗号化ですか?Data encryption at rest? はいYes
転送中のデータの暗号化ですか?Data encryption in transit? はいYes
トピック: 再アーキテクチャの設定Topic: Re-Architecture preferences
1 つのクラスターまたは特定のクラスターの種類Single cluster vs Specific cluster types 特定のクラスターの種類Specific cluster types
併置されたストレージまたはリモート ストレージのどちらを指定するか?Colocated Storage Vs Remote Storage? リモート ストレージRemote Storage
データをリモートに保管するときにクラスター サイズを小さくするか?Smaller cluster size as data is stored remotely? クラスター サイズを小さくするSmaller cluster size
単一の大型クラスターではなく複数の小さいクラスターを使用するか?Use multiple smaller clusters rather than a single large cluster? 複数の小さいクラスターを使用するUse multiple smaller clusters
リモート メタストアを使用するか?Use a remote metastore? はいYes
異なるクラスター間でメタストアを共有するか?Share metastores between different clusters? はいYes
ワークロードを分解するか?Deconstruct workloads? Hive ジョブを Spark ジョブに置き換えるReplace Hive jobs with Spark jobs
データのオーケストレーションに ADF を使用するか?Use ADF for data orchestration? いいえNo

次の手順Next steps

このシリーズの次の記事をお読みください。Read the next article in this series: