すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:YARN、MapReduce、および Spark ジョブのログの保存

最終更新日:Mar 26, 2026

デフォルトでは、Elastic MapReduce (EMR) Hadoop クラスターはジョブログを Hadoop 分散ファイルシステム (HDFS) に保存します。従量課金クラスターがリリースされると、HDFS はそれとともに削除され、すべてのジョブログが完全に失われます。クラスターリリース後にトラブルシューティングのためにログを保持するには、クラスター作成時に YARN コンテナログ、MapReduce ジョブ履歴、および Spark イベントログを JindoFS (JindoFileSystem) または Object Storage Service (OSS) にリダイレクトします。

EMR クラスターは、従量課金およびサブスクリプションの課金方法をサポートし、さまざまなニーズに対応します。

前提条件

開始する前に、以下があることを確認してください。

  • ログを保存するための OSS バケット

  • (JindoFS の場合) OSS をバックエンドとする JindoFS 名前空間

ログストレージの仕組み

YARN は、ジョブのすべてのコンテナログをノードごとに単一のファイルに集約し、アプリケーションの完了時に、構成されたリモートログディレクトリに書き込みます。yarn.nodemanager.remote-app-log-dir パラメーターがこの送信先を制御します。

MapReduce は、Job History Server を使用して、完了したジョブのメタデータをアーカイブします。サーバーは、完了したジョブログを mapreduce.jobhistory.done-dir に書き込み、進行中のレコードを mapreduce.jobhistory.intermediate-done-dir にバッファーします。

Spark は、Spark History Server を使用してジョブ実行をリプレイします。spark_eventlog_dir で設定されたパスからイベントログを読み取ります。

構成リファレンス

次の表に、各ストレージバックエンドのパラメーターを一覧表示します。すべてのパラメーターを、クラスター作成時にカスタムソフトウェア構成として適用します。

JindoFS

これらのパラメーターを bigboot 構成ファイルで設定します。

パラメーター説明
jfs.namespacesJindoFS がサポートする名前空間。複数の名前空間をコンマで区切ります。emr-jfs
jfs.namespaces.emr-jfs.oss.uriemr-jfs 名前空間の OSS ストレージバックエンド。oss://oss-bucket/oss-dir
jfs.namespaces.emr-jfs.modeemr-jfs 名前空間のストレージモード。JindoFS はブロックモードとキャッシュモードをサポートします。block

YARN コンテナログと MapReduce ジョブ履歴

構成ファイルパラメーター説明
yarn-siteyarn.nodemanager.remote-app-log-dirアプリケーションの完了後、YARN がコンテナログを集約して保存するリモートディレクトリ。YARN のログ集約機能はデフォルトで有効になっています。jfs://emr-jfs/emr-cluster-log/yarn-apps-logs または oss://${oss-bucket}/emr-cluster-log/yarn-apps-logs
mapred-sitemapreduce.jobhistory.done-dirJob History Server が完了した Hadoop ジョブのログを保存するディレクトリ。jfs://emr-jfs/emr-cluster-log/jobhistory/done または oss://${oss-bucket}/emr-cluster-log/jobhistory/done
mapred-sitemapreduce.jobhistory.intermediate-done-dirJob History Server がまだアーカイブされていない Hadoop ジョブのログをバッファーするディレクトリ。jfs://emr-jfs/emr-cluster-log/jobhistory/done_intermediate または oss://${oss-bucket}/emr-cluster-log/jobhistory/done_intermediate

Spark History Server

構成ファイルパラメーター説明
spark-defaultsspark_eventlog_dirSpark History Server が Spark ジョブのログを保存するディレクトリ。jfs://emr-jfs/emr-cluster-log/spark-history または oss://${oss-bucket}/emr-cluster-log/spark-history

クラスター作成時の構成の適用

EMR クラスターを作成する際に、構成をカスタムソフトウェア構成として渡します。コンソールには、次の図に示すように、この JSON 入力用の [カスタムソフトウェア構成] フィールドが用意されています。

config_sel

JindoFS にログを保存

oss-bucket とディレクトリパスを、ご利用の実際の OSS バケットと希望するパスに置き換えます。

[
  {
    "ServiceName": "BIGBOOT",
    "FileName": "bigboot",
    "ConfigKey": "jfs.namespaces",
    "ConfigValue": "emr-jfs"
  },
  {
    "ServiceName": "BIGBOOT",
    "FileName": "bigboot",
    "ConfigKey": "jfs.namespaces.emr-jfs.oss.uri",
    "ConfigValue": "oss://oss-bucket/jindoFS"
  },
  {
    "ServiceName": "BIGBOOT",
    "FileName": "bigboot",
    "ConfigKey": "jfs.namespaces.emr-jfs.mode",
    "ConfigValue": "block"
  },
  {
    "ServiceName": "YARN",
    "FileName": "mapred-site",
    "ConfigKey": "mapreduce.jobhistory.done-dir",
    "ConfigValue": "jfs://emr-jfs/emr-cluster-log/jobhistory/done"
  },
  {
    "ServiceName": "YARN",
    "FileName": "mapred-site",
    "ConfigKey": "mapreduce.jobhistory.intermediate-done-dir",
    "ConfigValue": "jfs://emr-jfs/emr-cluster-log/jobhistory/done_intermediate"
  },
  {
    "ServiceName": "YARN",
    "FileName": "yarn-site",
    "ConfigKey": "yarn.nodemanager.remote-app-log-dir",
    "ConfigValue": "jfs://emr-jfs/emr-cluster-log/yarn-apps-logs"
  },
  {
    "ServiceName": "SPARK",
    "FileName": "spark-defaults",
    "ConfigKey": "spark_eventlog_dir",
    "ConfigValue": "jfs://emr-jfs/emr-cluster-log/spark-history"
  }
]

OSS にログを保存

oss_bucket とディレクトリパスを、ご利用の実際の OSS バケットと希望するパスに置き換えます。

[
  {
    "ServiceName": "YARN",
    "FileName": "mapred-site",
    "ConfigKey": "mapreduce.jobhistory.done-dir",
    "ConfigValue": "oss://oss_bucket/emr-cluster-log/jobhistory/done"
  },
  {
    "ServiceName": "YARN",
    "FileName": "mapred-site",
    "ConfigKey": "mapreduce.jobhistory.intermediate-done-dir",
    "ConfigValue": "oss://oss_bucket/emr-cluster-log/jobhistory/done_intermediate"
  },
  {
    "ServiceName": "YARN",
    "FileName": "yarn-site",
    "ConfigKey": "yarn.nodemanager.remote-app-log-dir",
    "ConfigValue": "oss://oss_bucket/emr-cluster-log/yarn-apps-logs"
  },
  {
    "ServiceName": "SPARK",
    "FileName": "spark-defaults",
    "ConfigKey": "spark_eventlog_dir",
    "ConfigValue": "oss://oss_bucket/emr-cluster-log/spark-history"
  }
]

クラスターリリース後のログの検索

クラスターリリース後、構成したパスで OSS から直接ログにアクセスします。

ログタイプOSS パス
YARN コンテナログoss://<oss-bucket>/emr-cluster-log/yarn-apps-logs/
MapReduce 完了ジョブログoss://<oss-bucket>/emr-cluster-log/jobhistory/done/
MapReduce 進行中ジョブログoss://<oss-bucket>/emr-cluster-log/jobhistory/done_intermediate/
Spark イベントログoss://<oss-bucket>/emr-cluster-log/spark-history/