このトピックでは、E-MapReduce (EMR) コンソールを使用して、オープンソースの Hadoop エコシステムに基づいたデータレイククラスターを迅速に作成し、クラスタークライアントを使用してクラシックな WordCount ジョブを送信する方法について説明します。WordCount は、Hadoop における基本的な分散コンピューティングタスクであり、大規模なテキストファイル内の単語の出現回数を数えます。データ分析やデータマイニングなどのシナリオで広く使用されています。
概要
このクイックスタートでは、次の方法について説明します。
-
データレイククラスターの迅速な作成
-
クラスタークライアントを使用した WordCount ジョブの送信と実行
-
Alibaba Cloud EMR のコア機能と Hadoop エコシステムの基本的な使用方法の理解
前提条件
-
Alibaba Cloud アカウントを作成し、実名認証を完了していること。
-
E-MapReduce サービスアカウントにデフォルトの EMR ロールと ECS ロールを付与していること。詳細については、「ロールの権限付与」をご参照ください。
注意事項
コードの実行環境の管理と設定は、お客様の責任となります。
操作手順
ステップ 1:クラスターの作成
-
[クラスターの作成] ページに移動します。
-
EMR on ECS コンソールにログインします。
-
上部のナビゲーションバーで、ビジネス要件に基づいてリージョンとリソースグループを選択します。
-
リージョン:クラスターを作成するリージョンを指定します。クラスター作成後にリージョンを変更することはできません。
-
リソースグループ:デフォルトでは、アカウント内のすべてのリソースが表示されます。
-
-
左上隅にある CREATE_CLUSTER をクリックします。
-
-
[クラスターの作成] ページで、クラスターのパラメーターを設定します。
セクション
パラメーター
例
説明
Software Configuration
Region
中国 (杭州)
クラスターノード用の ECS インスタンスの物理的な場所。
重要クラスター作成後にリージョンを変更することはできません。リージョンは慎重に選択してください。
Business Scenario
データレイク
シナリオを選択すると、EMR がデフォルトのコンポーネント、サービス、リソースを自動的に設定します。これにより、クラスターのセットアップが簡素化され、指定されたユースケースに合わせた環境が提供されます。
Product Version
EMR-5.18.1
最新の EMR バージョンを選択します。
High Service Availability
無効
この機能はデフォルトで無効になっています。High Service Availability を有効にすると、 EMR はマスターノードを異なる基盤となるハードウェアに分散させることで、障害のリスクを低減します。
Optional Services
HADOOP-COMMON、OSS-HDFS、YARN、Hive、Spark3、Tez、Knox、OpenLDAP。
ビジネス要件に基づいてサービスを選択します。デフォルトでは、EMR は選択したサービスのサービスプロセスを開始します。
説明コンソールからサービスの Web UI にアクセスするには、Knox および OpenLDAP サービスも選択する必要があります。
サービス運用ログの収集を許可する
有効
すべてのサービスのログ収集を有効にするかどうかを指定します。デフォルトでは、このスイッチはオンになっており、クラスターのサービスオペレーションログを収集します。ログはクラスターの診断にのみ使用されます。
クラスターを作成した後、[基本情報] タブで [サービスオペレーションログの収集ステータス] パラメーターを変更できます。
重要このスイッチをオフにすると、EMR クラスターのヘルスチェックとサービス関連のテクニカルサポートが制限されます。ログ収集を無効にする方法と、ログ収集の無効化による影響の詳細については、「サービスログの収集を停止するにはどうすればよいですか?」をご参照ください。
Metadata
組み込み MySQL
メタデータを組み込みの MySQL データベースに保存します。
重要組み込みの MySQL データベースを使用すると、テスト環境を迅速にセットアップできますが、本番環境での使用は推奨されません。本番環境では、ビジネス要件に応じて、セルフマネージドの ApsaraDB RDS インスタンスまたは Data Lake Formation (DLF) を使用してメタデータを一元管理してください。
クラスターストレージのルートパス
oss://******.cn-hangzhou.oss-dls.aliyuncs.com
クラスターデータのルートストレージディレクトリ。このパラメーターは、OSS-HDFS サービスを選択した場合にのみ必須です。
説明OSS-HDFS サービスを使用する前に、クラスターを作成するリージョンで OSS-HDFS サービスが利用可能であることを確認してください。リージョンで OSS-HDFS サービスが利用できない場合は、リージョンを変更するか、OSS-HDFS の代わりに HDFS を使用できます。OSS-HDFS が利用可能なリージョンの詳細については、「OSS-HDFS の有効化とアクセス権限の付与」をご参照ください。
新しいデータレイクシナリオの DataLake クラスター、Dataflow クラスター、DataServing クラスター、または EMR V5.12.1、EMR V3.46.1、あるいはそれ以降のマイナーバージョンのカスタムクラスターを作成する際に、OSS-HDFS サービスを選択できます。
ハードウェア設定
支払いタイプ
従量課金
テストには、Pay-as-you-go 課金方法を使用します。テストが成功したら、テストクラスターをリリースし、本番用に Subscription 課金方法を使用する新しいクラスターを作成できます。
ゾーン
ゾーン I
クラスター作成後にゾーンを変更することはできません。ゾーンは慎重に選択してください。
VPC
vpc_Hangzhou/vpc-bp1f4epmkvncimpgs****
現在のリージョンで VPC を選択します。利用可能な VPC がない場合は、VPC の作成 をクリックして作成します。VPC を作成した後、Refresh アイコンをクリックして選択します。
vSwitch
vsw_i/vsw-bp1e2f5fhaplp0g6p****
選択した VPC の指定されたゾーンで vSwitch を選択します。ゾーンに利用可能な vSwitch がない場合は、作成する必要があります。
Default Security Group
sg_seurity/sg-bp1ddw7sm2risw****
重要EMR は、ECS コンソールで作成されたエンタープライズセキュリティグループをサポートしていません。
既存のセキュリティグループを選択するか、新しいセキュリティグループを作成できます。
Node Group
マスターノードグループの Assign Public Network IP スイッチをオンにします。他のパラメーターはデフォルト値のままにできます。
ビジネス要件に基づいて、マスター、コア、タスクのノードグループを設定できます。詳細については、「ハードウェアとネットワークの設定」をご参照ください。
基本設定
クラスター名
Emr-Data Lake
クラスター名は 1~64 文字で、文字、数字、ハイフン (-)、アンダースコア (_) 、および漢字を含めることができます。
Identity Credentials
パスワード
クラスターのマスターノードにリモートでログインできます。
説明パスワードなしの認証を使用したい場合は、Key Pair を選択できます。詳細については、「SSH キーペアの管理」をご参照ください。
Password と Confirm Password
カスタムパスワード。
パスワードを記録しておいてください。クラスターにログインする際に必要になります。
-
Confirm をクリックします。
EMR on ECS ページで、クラスターの Status が 実行中 に変わると、クラスターの準備は完了です。クラスターパラメーターの詳細については、「クラスターの作成」をご参照ください。
ステップ 2:データの準備
クラスターを作成した後、プリインストール済みの WordCount サンプルプログラムを使用してデータ分析テストを実行できます。また、独自のビッグデータアプリケーションをアップロードして実行することもできます。このトピックでは、WordCount プログラムを使用して、データの準備からジョブの送信までのプロセスを説明します。
-
SSH 経由でクラスターに接続します。詳細については、「クラスターへのログイン」をご参照ください。
-
データファイルを準備します。
WordCount ジョブの入力データとして、
wordcount.txtという名前のテキストファイルを作成します。ファイルには次の内容が含まれている必要があります。hello world hello wordcount -
データファイルをアップロードします。
説明ビジネス要件に応じて、データファイルをクラスターの HDFS、OSS、または OSS-HDFS サービスにアップロードできます。このトピックでは、OSS-HDFS サービスを例として使用します。OSS にファイルをアップロードするには、「シンプルアップロード」をご参照ください。
-
次のコマンドを実行して、
inputという名前のディレクトリを作成します。hadoop fs -mkdir oss://<yourBucketname>.cn-hangzhou.oss-dls.aliyuncs.com/input/ -
次のコマンドを実行して、現在のローカルディレクトリから OSS-HDFS の
inputディレクトリにwordcount.txtファイルをアップロードします。hadoop fs -put wordcount.txt oss://<yourBucketname>.cn-hangzhou.oss-dls.aliyuncs.com/input/
-
ステップ 3:ジョブの送信
WordCount プログラムを使用して、テキストデータを分析し、単語の出現頻度を数えることができます。
次のコマンドを実行して、WordCount ジョブを送信します。
hadoop jar /opt/apps/HDFS/hadoop-3.2.1-1.2.16-alinux3/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar wordcount -D mapreduce.job.reduces=1 "oss://<yourBucketname>.cn-hangzhou.oss-dls.aliyuncs.com/input/wordcount.txt" "oss://<yourBucketname>.cn-hangzhou.oss-dls.aliyuncs.com/output/"
次の表に、コマンドのパラメーターを説明します。
|
パラメーター |
説明 |
|
|
Hadoop に付属のサンプルプログラムパッケージ。このパッケージには、複数のクラシックな MapReduce サンプルプログラムが含まれています。この例では、 |
|
|
MapReduce ジョブの reducer の数を設定します。 デフォルトでは、Hadoop は入力データサイズに基づいて reducer の数を自動的に決定します。reducer の数を指定しない場合、 |
|
|
WordCount ジョブの入力パス。これは OSS 内のデータファイルへのパスです。 |
|
|
WordCount ジョブが結果を保存する出力パス。 |
ステップ 4:結果の表示
ジョブの出力
Hadoop シェルコマンドを使用してジョブの出力を表示できます。
-
SSH 経由でクラスターに接続します。詳細については、「クラスターへのログイン」をご参照ください。
-
次のコマンドを実行して、ジョブの出力を表示します。
hadoop fs -cat oss://<yourBucketname>.cn-hangzhou.oss-dls.aliyuncs.com/output/part-r-00000次の出力が返されます。
hello 2 wordcount 1 world 1
ジョブ履歴
YARN は、クラスタータスクのスケジューリングと管理を行う Hadoop のリソース管理フレームワークです。YARN UI を使用してジョブのステータスと履歴を表示し、実行の詳細を確認できます。
-
ポート 8443 を開きます。詳細については、「セキュリティグループの管理」をご参照ください。
-
ユーザーを追加します。詳細については、「OpenLDAP ユーザー管理」をご参照ください。
YARN UI ページにアクセスする際は、Knox アカウントのユーザー名とパスワードを使用する必要があります。
-
EMR on ECS ページで、対象のクラスターを見つけ、[操作] 列の Services をクリックします。
-
Access Links and Ports タブをクリックします。
-
YARN UI 行で、[パブリック URL] 列のリンクをクリックします。
ユーザー認証情報で認証し、YARN UI ページにアクセスします。
-
[すべてのアプリケーション] ページで、ジョブの ID をクリックして詳細を表示します。
このページの上部には、クラスターメトリクス (送信されたアプリ、実行中のアプリ、使用メモリなど) とクラスターノードメトリクスが表示されます。ページの下部には、ID、名前、アプリケーションタイプ、状態、最終ステータスなどの列を持つアプリケーションがリストされます。
(オプション) ステップ 5:クラスターのリリース
クラスターが不要になった場合は、追加料金が発生しないようにリリースしてください。リリースを確認すると、システムは次の操作を実行します。
-
クラスター上のすべてのジョブを強制的に終了します。
-
すべての ECS インスタンスを終了し、リリースします。
クラスターのリリースに必要な時間は、クラスターのサイズによって異なります。小さいクラスターほど速くリリースされます。リリースプロセスは通常、数秒で完了し、5 分を超えることはありません。
-
従量課金クラスターはいつでもリリースできます。サブスクリプションクラスターは、サブスクリプションの有効期限が切れた後にのみリリースできます。
-
クラスターをリリースする前に、クラスターが [初期化中]、[実行中]、または [アイドル] 状態であることを確認してください。
-
EMR on ECS ページで、リリースするクラスターを見つけ、[操作] 列で を選択します。
または、クラスター名をクリックします。基本情報 タブの右上隅で、 を選択します。
-
表示されるダイアログボックスで、OK をクリックします。
関連ドキュメント
-
よく使用されるファイルのパス:よく使用されるファイルのインストールパスを検索します。
-
API 概要:API オペレーションを使用してクラスターとサービスを管理します。
よくある質問
Alibaba Cloud EMR の一般的な問題については、「よくある質問」をご参照ください。
> 削除済み