Amazon EMR
Amazon EMR リリースガイド

アプリケーションの設定

アプリケーションの設定オブジェクトを提供することで、アプリケーションのデフォルト設定を上書きできます。短縮構文を使用して、設定を指定したり、JSON ファイルの設定オブジェクトを参照したりできます。設定オブジェクトは、分類、プロパティ、オプションの入れ子になっている設定で構成されます。プロパティは、そのファイル内で変更する設定です。単一の JSON オブジェクトで、複数のアプリケーションに複数の分類を指定できます。

警告

Amazon EMR Describe および List オペレーションでは、カスタム設定可能な設定をプレーンテキストで出力されます。これは、Amazon EMR ジョブフローの一部として使用されます。このような設定には、パスワードなどの機密情報を挿入しないことをお勧めします。

Amazon EMR リリースバージョンによって使用可能な設定分類は異なります。Amazon EMR の各リリースバージョンで使用可能な設定分類の一覧については、「Amazon EMR リリースについて」を参照してください。

以下は設定のリストの JSON の例です。

[ { "Classification": "core-site", "Properties": { "hadoop.security.groups.cache.secs": "250" } }, { "Classification": "mapred-site", "Properties": { "mapred.tasktracker.map.tasks.maximum": "2", "mapreduce.map.sort.spill.percent": "0.90", "mapreduce.tasktracker.reduce.tasks.maximum": "5" } } ]

設定分類は、多くの場合アプリケーション固有の設定ファイルにマップします。たとえば、hive-site 分類は Hive の hive-site.xml 設定ファイルの設定にマッピングされます。例外は廃止されたブートストラップアクション configure-daemons で、これは --namenode-heap-size のような環境パラメータの設定に使用します。このようなオプションはそれ自身の下位エクスポート分類とともに、hadoop-env および yarn-env 分類の中に入れ子になっています。どの分類でも「env」で終わった場合は、下位エクスポート分類を使用します。もうひとつの例外は s3get であり、これはお客様の EncryptionMaterialsProvider オブジェクトをクラスターの各ノードに配置して、クライアント側の暗号化に使用するものです。この用途には、emrfs-site 分類にオプションが追加されています。

hadoop-env 分類の例を以下に示します。

[ { "Classification": "hadoop-env", "Properties": { }, "Configurations": [ { "Classification": "export", "Properties": { "HADOOP_DATANODE_HEAPSIZE": "2048", "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19" }, "Configurations": [ ] } ] } ]

yarn-env 分類の例を以下に示します。

[ { "Classification": "yarn-env", "Properties": { }, "Configurations": [ { "Classification": "export", "Properties": { "YARN_RESOURCEMANAGER_OPTS": "-Xdebug -Xrunjdwp:transport=dt_socket" }, "Configurations": [ ] } ] } ]

次の設定は、設定ファイルに属しませんが、お客様に代わって複数の設定を設定する場合のために Amazon EMR で使用されます。

Amazon EMR-curated 設定

アプリケーション リリースラベルの分類 有効なプロパティ どのようなときに使うか
Spark spark maximizeResourceAllocation 各ノードの最大リソースを利用するようにエグゼキューターを設定します。