YARN で Hadoop の jar ファイルを実行する
YARN に Hadoop の jar ファイルを送信する
YARN を使用して Hadoop の jar ファイルを実行するには、以下の手順に従います。
-
Hadoop アプリケーションをビルドする:Hadoop アプリケーションを開発し、jar ファイルにパッケージ化します。
-
jar ファイルを HDFS にアップロードする:hadoop fs
コマンドを使用して、jar ファイルを Hadoop Distributed File System (HDFS) にアップロードします。
hadoop fs -put my-hadoop-app.jar /user/username/jars/
- ジョブを YARN に送信する:
yarn jar
コマンドを使用して、Hadoop アプリケーションを YARN に送信して実行します。
yarn jar /user/username/jars/my-hadoop-app.jar com.example.MyHadoopApp
このコマンドにより、Hadoop アプリケーションが YARN ResourceManager に送信され、ResourceManager がクラスタ上でアプリケーションの実行をスケジュールし管理します。
YARN 上の Hadoop ジョブの監視とトラブルシューティング
YARN のウェブ UI または yarn application
コマンドを使用して、YARN 上で実行されている Hadoop ジョブの状態と進捗を監視できます。
## 実行中のアプリケーションのリストを表示する
yarn application -list
## 特定のアプリケーションの詳細を表示する
yarn application -status application_1234567890_0001
Hadoop ジョブの実行中に問題やエラーが発生した場合は、アプリケーションログと NodeManager ログを確認してトラブルシューティングを行うことができます。
## 特定のアプリケーションのログを表示する
yarn logs -applicationId application_1234567890_0001
リソース割り当てと最適化
YARN 上で Hadoop ジョブを実行する際には、さまざまなパラメータを設定して、アプリケーションのリソース割り当てとパフォーマンスを最適化できます。考慮すべき主要なパラメータには以下のようなものがあります。
- メモリと CPU:アプリケーションコンテナに必要なメモリと CPU リソースを指定します。
- コンテナの数:アプリケーションで使用するコンテナ(タスク)の数を調整します。
- 並列性:MapReduce または Spark ジョブの並列性のレベルを設定します。
- 圧縮:データ圧縮を有効にして、ネットワークとストレージのオーバーヘッドを削減します。
これらのパラメータを適切に設定することで、効率的なリソース利用を確保し、YARN 上で実行される Hadoop アプリケーションの全体的なパフォーマンスを向上させることができます。