Amazon EMR リリース 5.22.0 - Amazon EMR

Amazon EMR リリース 5.22.0

アプリケーションバージョン

このリリースでは、次のアプリケーションがサポートされています: FlinkGangliaHBaseHCatalogHadoopHiveHueJupyterHubLivyMXNetMahoutOoziePhoenixPigPrestoSparkSqoopTensorFlowTezZeppelinZooKeeper

以下の表は、Amazon EMR のこのリリースで利用可能なアプリケーションバージョンと、前の 3 つの Amazon EMR リリース (該当する場合) で利用可能なアプリケーションバージョンを示しています。

Amazon EMR の各リリースのアプリケーションバージョンの包括的な履歴については、以下のトピックを参照してください。

アプリケーションバージョン情報
emr-5.22.0 emr-5.21.2 emr-5.21.1 emr-5.21.0
AWS SDK for Java 1.11.5101.11.4791.11.4791.11.479
Python 2.7、3.62.7、3.62.7、3.62.7、3.6
Scala 利用不可利用不可利用不可利用不可
Delta - - - -
Flink1.7.11.7.01.7.01.7.0
Ganglia3.7.23.7.23.7.23.7.2
HBase1.4.91.4.81.4.81.4.8
HCatalog2.3.42.3.42.3.42.3.4
Hadoop2.8.52.8.52.8.52.8.5
Hive2.3.42.3.42.3.42.3.4
Hudi - - - -
Hue4.3.04.3.04.3.04.3.0
Iceberg - - - -
JupyterEnterpriseGateway - - - -
JupyterHub0.9.40.9.40.9.40.9.4
Livy0.5.00.5.00.5.00.5.0
MXNet1.3.11.3.11.3.11.3.1
Mahout0.13.00.13.00.13.00.13.0
Oozie5.1.05.0.05.0.05.0.0
Phoenix4.14.14.14.04.14.04.14.0
Pig0.17.00.17.00.17.00.17.0
Presto0.2150.2150.2150.215
Spark2.4.02.4.02.4.02.4.0
Sqoop1.4.71.4.71.4.71.4.7
TensorFlow1.12.01.12.01.12.01.12.0
Tez0.9.10.9.10.9.10.9.1
Trino (PrestoSQL) - - - -
Zeppelin0.8.10.8.00.8.00.8.0
ZooKeeper3.4.133.4.133.4.133.4.13

リリースノート

次のリリースノートには、Amazon EMR リリース 5.22.0 に関する情報が含まれています。5.21.0 からの変更が含まれています。

重要

Amazon EMR リリース 5.22.0 以降、Amazon EMR は AWS 署名バージョン 4 のみを使用して Amazon S3 へのリクエストを認証します。リリースノートに署名バージョン 4 のみが使用されることが示されていない限り、それ以前の Amazon EMR リリースでは、場合によっては AWS 署名バージョン 2 が使用されることがあります。詳細については、「Amazon Simple Storage Service デベロッパーガイド」の「リクエストの認証 (AWS 署名バージョン 4)」および「リクエストの認証 (AWS 署名バージョン 2)」を参照してください。

初回リリース日: 2019 年 3 月 20 日

アップグレード
  • Flink 1.7.1

  • HBase 1.4.9

  • Oozie 5.1.0

  • Phoenix 4.14.1

  • Zeppelin 0.8.1

  • コネクタおよびドライバー:

    • DynamoDB Connector 4.8.0

    • MariaDB Connector 2.2.6

    • Amazon Redshift JDBC ドライバー 1.2.20.1043

新機能
  • EBS 専用ストレージを使用する EC2 インスタンスタイプのデフォルトの EBS 設定を変更しました。Amazon EMR リリース 5.22.0 以降を使用してクラスターを作成する場合、デフォルトの EBS ストレージ容量はインスタンスのサイズに基づいて増加します。さらに、増加したストレージを複数のボリュームに分割することで、IOPS のパフォーマンスが向上しました。別の EBS インスタンスストレージ設定を使用する場合は、EMR クラスターを作成する際、または既存のクラスターをノードに追加する際に指定することができます。インスタンスタイプごとにデフォルトで割り当てられるストレージ容量とボリューム数の詳細については、「Amazon EMR 管理ガイド」の「インスタンスのデフォルト EBS ストレージ」を参照してください。

変更、機能強化、解決した問題
  • Spark

    • YARN の Spark 用に新しい設定プロパティ spark.yarn.executor.memoryOverheadFactor が導入されました。このプロパティの値は、メモリオーバーヘッドの値をエグゼキュターメモリのパーセントに設定するスケール係数であり、最小は 384 MB です。spark.yarn.executor.memoryOverhead を使用してメモリオーバーヘッドが明示的に設定されている場合、このプロパティは影響しません。デフォルト値は 0.1875 で、18.75% を表します。Amazon EMR のこのデフォルトは、Spark で内部的に設定されたデフォルトの 10% よりも、エグゼキュターのメモリオーバーヘッド用に YARN コンテナに余分なスペースを残します。Amazon EMR のデフォルトの 18.75% では、TPC-DS ベンチマークでメモリ関連の障害が減ることが実証されています。

    • パフォーマンスを向上させるために SPARK-26316 をバックポートしました。

  • Amazon EMR バージョン 5.19.0、5.20.0、および 5.21.0 では、YARN ノードラベルは HDFS ディレクトリに保存されます。状況によっては、このために、コアノードの起動が遅延し、クラスターのタイムアウトや起動エラーが発生します。Amazon EMR 5.22.0 以降、この問題は解決されています。YARN ノードラベルは各クラスターノードのローカルディスクに保存され、HDFS への依存が回避されています。

既知の問題
  • Hue (Amazon EMR リリース 5.24.0 で修正)

    • Amazon EMR で実行される Hue では、Solr はサポートされません。Amazon EMR リリース 5.20.0 以降、誤設定の問題により Solr が有効になり、次のような無害なエラーメッセージが表示されます。

      Solr server could not be contacted properly: HTTPConnectionPool('host=ip-xx-xx-xx-xx.ec2.internal', port=1978): Max retries exceeded with url: /solr/admin/info/system?user.name=hue&doAs=administrator&wt=json (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused',))

      Solr のエラーメッセージが表示されないようにするには、以下の操作を行います。

      1. SSH を使用してプライマリノードのコマンドラインに接続します。

      2. テキストエディタを使用して、hue.ini ファイルを開きます。例:

        sudo vim /etc/hue/conf/hue.ini

      3. 語句 appblacklist を検索して、行を次のように変更します。

        appblacklist = search
      4. 変更を保存して、次の例に示すように Hue を再起動します。

        sudo stop hue; sudo start hue
  • 複数のプライマリノードと Kerberos 認証を使用するクラスターの既知の問題

    Amazon EMR リリース 5.20.0 以降で複数のプライマリノードと Kerberos 認証を使用してクラスターを実行すると、クラスターをしばらく実行した後で、スケールダウンやステップの送信などのクラスターオペレーションに問題が発生する可能性があります。期間は、定義した Kerberos チケットの有効期間によって異なります。スケールダウンの問題は、自動スケールダウンリクエストと送信した明示的なスケールダウンリクエストの両方に影響します。その他のクラスターオペレーションも影響を受ける可能性があります。

    回避方法:

    • 複数のプライマリノードを持つ EMR クラスターのリードプライマリノードに hadoop ユーザーとして SSH 接続します。

    • 次のコマンドを実行して hadoop ユーザーの Kerberos チケットを更新します。

      kinit -kt <keytab_file> <principal>

      通常、キータブファイルは /etc/hadoop.keytab にあります。プリンシパルの形式は hadoop/<hostname>@<REALM> です。

    注記

    この回避策は、Kerberos チケットが有効になっている期間、効果があります。この期間はデフォルトで 10 時間ですが、Kerberos の設定で構成できます。Kerberos チケットの有効期限が切れたら、上記のコマンドを再実行する必要があります。

コンポーネントのバージョン

このリリースで Amazon EMR がインストールするコンポーネントを以下に示します。そのうちいくつかは、ビッグデータアプリケーションパッケージの一部としてインストールされます。その他は Amazon EMR に固有であり、システムプロセスと機能に対してインストールされます。これらは通常、emr または aws で開始されます。通常、最新の Amazon EMR リリースのビッグデータアプリケーションパッケージは、コミュニティにある最新バージョンです。コミュニティリリースは、できるだけ早く Amazon EMR で入手可能になるようにしています。

Amazon EMR の一部のコンポーネントは、コミュニティバージョンとは異なります。これらのコンポーネントには、CommunityVersion-amzn-EmrVersion の形式のバージョンラベルがあります。EmrVersion は 0 から始まります。例えば、バージョン 2.2 の myapp-component というオープンソースコミュニティコンポーネントが、異なる Amazon EMR リリースに組み込むために 3 回変更された場合、そのリリースバージョンは 2.2-amzn-2 として表示されます。

コンポーネント バージョン 説明
aws-sagemaker-spark-sdk1.2.1Amazon SageMaker Spark SDK
emr-ddb4.8.0Hadoop エコシステムアプリケーション用の Amazon DynamoDB コネクター。
emr-goodies2.6.0Hadoop エコシステムに役立つ追加のライブラリ。
emr-kinesis3.4.0Hadoop エコシステムアプリケーション用の Amazon Kinesis コネクター。
emr-s3-dist-cp2.11.0Amazon S3 に最適化された分散コピーアプリケーション。
emr-s3-select1.2.0EMR S3Select コネクター
emrfs2.31.0Hadoop エコシステムアプリケーション用の Amazon S3 コネクタ。
flink-client1.7.1Apache Flink のコマンドラインクライアント スクリプトとアプリケーション。
ganglia-monitor3.7.2Ganglia モニタリングエージェントとともに埋め込まれた、Hadoop エコシステムアプリケーション用 Ganglia エージェント。
ganglia-metadata-collector3.7.2Ganglia モニタリングエージェントからメトリクスを集計する Ganglia メタデータコレクター。
ganglia-web3.7.1Ganglia メタデータコレクターによって収集されたメトリクスを表示するウェブアプリケーション。
hadoop-client2.8.5-amzn-2'hdfs'、'hadoop'、'yarn' などの Hadoop コマンドラインクライアント。
hadoop-hdfs-datanode2.8.5-amzn-2ブロックを保存する HDFS ノードレベルのサービス。
hadoop-hdfs-library2.8.5-amzn-2HDFS コマンドラインクライアントとライブラリ
hadoop-hdfs-namenode2.8.5-amzn-2ファイル名を追跡し、場所をブロックする HDFS サービス。
hadoop-httpfs-server2.8.5-amzn-2HDFS オペレーションの HTTP エンドポイント。
hadoop-kms-server2.8.5-amzn-2Hadoop の KeyProvider API に基づく暗号キー管理サーバー。
hadoop-mapred2.8.5-amzn-2MapReduce アプリケーションを実行する MapReduce 実行エンジンライブラリ。
hadoop-yarn-nodemanager2.8.5-amzn-2個別のノードでコンテナを管理する YARN サービス。
hadoop-yarn-resourcemanager2.8.5-amzn-2クラスターリソースおよび分散アプリケーションを割り当て、管理する YARN サービス。
hadoop-yarn-timeline-server2.8.5-amzn-2YARN アプリケーションの現在の情報と履歴情報を取得するためのサービス。
hbase-hmaster1.4.9リージョンの調整および管理コマンドの実行を行う HBase クラスター用のサービス。
hbase-region-server1.4.91 つ以上の HBase リージョンに対応するサービス。
hbase-client1.4.9HBase コマンドラインクライアント。
hbase-rest-server1.4.9HBase の RESTful HTTP エンドポイントを提供するサービス。
hbase-thrift-server1.4.9HBase に Thrift エンドポイントを提供するサービス。
hcatalog-client2.3.4-amzn-1hcatalog-server を操作するための 'hcat' コマンドラインクライアント。
hcatalog-server2.3.4-amzn-1分散アプリケーション用のテーブルおよびストレージ管理レイヤーである HCatalog を提供するサービス。
hcatalog-webhcat-server2.3.4-amzn-1HCatalog に REST インターフェイスを提供する HTTP エンドポイント。
hive-client2.3.4-amzn-1Hive コマンドラインクライアント。
hive-hbase2.3.4-amzn-1Hive-hbase クライアント。
hive-metastore-server2.3.4-amzn-1Hadoop オペレーションの SQL 用のメタデータを保存するセマンティックレポジトリである Hive メタストアにアクセスするためのサービス。
hive-server22.3.4-amzn-1Hive クエリをウェブリクエストとして受け入れるサービス。
hue-server4.3.0Hadoop エコシステムアプリケーションを使用してデータを分析するウェブアプリケーション
jupyterhub0.9.4Jupyter Notebook のマルチユーザーサーバー
livy-server0.5.0-incubatingApache Spark を操作するための REST インターフェイス
nginx1.12.1nginx [engine x] は HTTP およびリバースプロキシサーバー
mahout-client0.13.0機械学習用のライブラリ。
mxnet1.3.1フレキシブルかつスケーラブルで、ディープラーニングにおいて効率的なライブラリです。
mysql-server5.5.54+MySQL データベースサーバー。
nvidia-cuda9.2.88Nvidia ドライバーと Cuda ツールキット
oozie-client5.1.0Oozie コマンドラインクライアント。
oozie-server5.1.0Oozie ワークフローリクエストを受け入れるサービス。
opencv3.4.0オープンソースのコンピュータビジョンライブラリ。
phoenix-library4.14.1-HBase-1.4サーバーとクライアントの Phoenix ライブラリ
phoenix-query-server4.14.1-HBase-1.4JDBC のアクセス、プロトコルのバッファ、および Avatica API への JSON 形式のアクセスを提供するし軽量サーバー
presto-coordinator0.215presto-worker 間でクエリを受け入れ、クエリの実行を管理するサービス。
presto-worker0.215いくつかのクエリを実行するサービス。
pig-client0.17.0Pig コマンドラインクライアント。
r3.4.1統計的コンピューティング用 R プロジェクト
spark-client2.4.0Spark コマンドラインクライアント。
spark-history-server2.4.0完了した Spark アプリケーションの有効期間にログに記録されたイベントを表示するウェブ UI。
spark-on-yarn2.4.0YARN のメモリ内実行エンジン。
spark-yarn-slave2.4.0YARN スレーブで必要な Apache Spark ライブラリ。
sqoop-client1.4.7Apache Sqoop コマンドラインクライアント。
tensorflow1.12.0TensorFlow は、高性能数値計算用のオープンソースのソフトウェアライブラリです。
tez-on-yarn0.9.1tez YARN アプリケーションおよびライブラリ。
webserver2.4.25+Apache HTTP サーバー。
zeppelin-server0.8.1インタラクティブなデータ分析を可能にするウェブベースのノートブック。
zookeeper-server3.4.13設定情報を維持し、名前を付け、分散化された同期を提供し、グループサービスを提供する一元化されたサービス。
zookeeper-client3.4.13ZooKeeper コマンドラインクライアント。

設定分類

設定分類を使用すると、アプリケーションをカスタマイズできます。これらは多くの場合、hive-site.xml などのアプリケーションの構成 XML ファイルに対応します。詳細については、「アプリケーションの設定」を参照してください。

emr-5.22.0 の分類
分類 説明

capacity-scheduler

Hadoop の capacity-scheduler.xml ファイルの値を変更します。

container-log4j

Hadoop YARN の container-log4j.properties ファイルの値を変更します。

core-site

Hadoop の core-site.xml ファイルの値を変更します。

emrfs-site

EMRFS の設定を変更します。

flink-conf

flink-conf.yaml の設定を変更します。

flink-log4j

Flink log4j.properties の設定を変更します。

flink-log4j-yarn-session

Flink log4j-yarn-session.properties の設定を変更します。

flink-log4j-cli

Flink log4j-cli.properties の設定を変更します。

hadoop-env

Hadoop のすべてのコンポーネントに対する Hadoop 環境の値を変更します。

hadoop-log4j

Hadoop の log4j.properties ファイルの値を変更します。

hadoop-ssl-server

Hadoop ssl のサーバー設定を変更します。

hadoop-ssl-client

Hadoop ssl のクライアント設定を変更します。

hbase

Apache HBase 用の Amazon EMR-curated 設定。

hbase-env

HBase の環境の値を変更します。

hbase-log4j

HBase の hbase-log4j.properties ファイルの値を変更します。

hbase-metrics

HBase の hadoop-metrics2-hbase.properties ファイルの値を変更します。

hbase-policy

HBase の hbase-policy.xml ファイルの値を変更します。

hbase-site

HBase の hbase-site.xml ファイルの値を変更します。

hdfs-encryption-zones

HDFS 暗号化ゾーンを設定します。

hdfs-site

HDFS の hdfs-site.xml の値を変更します。

hcatalog-env

HCatalog 環境の値を変更します。

hcatalog-server-jndi

HCatalog の jndi.properties の値を変更します。

hcatalog-server-proto-hive-site

HCatalog の proto-hive-site.xml の値を変更します。

hcatalog-webhcat-env

HCatalog WebHCat 環境の値を変更します。

hcatalog-webhcat-log4j2

HCatalog WebHCat の log4j2.properties の値を変更します。

hcatalog-webhcat-site

HCatalog WebHCat の webhcat-site.xml ファイルの値を変更します。

hive-beeline-log4j2

Hive の beeline-log4j2.properties ファイルの値を変更します。

hive-parquet-logging

Hive の parquet-logging.properties ファイルの値を変更します。

hive-env

Hive 環境の値を変更します。

hive-exec-log4j2

Hive の hive-exec-log4j2.properties ファイルの値を変更します。

hive-llap-daemon-log4j2

Hive の llap-daemon-log4j2.properties ファイルの値を変更します。

hive-log4j2

Hive の hive-log4j2.properties ファイルの値を変更します。

hive-site

Hive の hive-site.xml ファイルの値を変更します

hiveserver2-site

Hive Server2 の hiveserver2-site.xml ファイルの値を変更します

hue-ini

Hue の ini ファイルの値を変更します

httpfs-env

HTTPFS 環境の値を変更します。

httpfs-site

Hadoop の httpfs-site.xml ファイルの値を変更します。

hadoop-kms-acls

Hadoop の kms-acls.xml ファイルの値を変更します。

hadoop-kms-env

Hadoop KMS 環境の値を変更します。

hadoop-kms-log4j

Hadoop の kms-log4j.properties ファイルの値を変更します。

hadoop-kms-site

Hadoop の kms-site.xml ファイルの値を変更します。

jupyter-notebook-conf

Jupyter Notebook の jupyter_notebook_config.py ファイルの値を変更します。

jupyter-hub-conf

JupyterHubs の jupyterhub_config.py ファイルの値を変更します。

jupyter-s3-conf

Jupyter Notebook の S3 の永続性を設定します。

jupyter-sparkmagic-conf

Sparkmagic の config.json ファイルの値を変更します。

livy-conf

Livy の livy.conf ファイルの値を変更します。

livy-env

Livy 環境の値を変更します。

livy-log4j

Livy の log4j.properties の設定を変更します。

mapred-env

MapReduce アプリケーションの環境の値を変更します。

mapred-site

MapReduce アプリケーションの mapred-site.xml ファイルの値を変更します。

oozie-env

Oozie の環境の値を変更します。

oozie-log4j

Oozie の oozie-log4j.properties ファイルの値を変更します。

oozie-site

Oozie の oozie-site.xml ファイルの値を変更します。

phoenix-hbase-metrics

Phoenix の hadoop-metrics2-hbase.properties ファイルの値を変更します。

phoenix-hbase-site

Phoenix の hbase-site.xml ファイルの値を変更します。

phoenix-log4j

Phoenix の log4j.properties ファイルの値を変更します。

phoenix-metrics

Phoenix の hadoop-metrics2-phoenix.properties ファイルの値を変更します。

pig-env

Pig 環境の値を変更します。

pig-properties

Pig の pig.properties ファイルの値を変更します。

pig-log4j

Pig の log4j.properties ファイルの値を変更します。

presto-log

Presto の log.properties ファイルの値を変更します。

presto-config

Presto の config.properties ファイルの値を変更します。

presto-password-authenticator

Presto の password-authenticator.properties ファイルの値を変更します。

presto-env

Presto の presto-env.sh ファイルの値を変更します。

presto-node

Presto の node.properties ファイルの値を変更します。

presto-connector-blackhole

Presto の blackhole.properties ファイルの値を変更します。

presto-connector-cassandra

Presto の cassandra.properties ファイルの値を変更します。

presto-connector-hive

Presto の hive.properties ファイルの値を変更します。

presto-connector-jmx

Presto の jmx.properties ファイルの値を変更します。

presto-connector-kafka

Presto の kafka.properties ファイルの値を変更します。

presto-connector-localfile

Presto の localfile.properties ファイルの値を変更します。

presto-connector-memory

Presto の memory.properties ファイルの値を変更します。

presto-connector-mongodb

Presto の mongodb.properties ファイルの値を変更します。

presto-connector-mysql

Presto の musql.properties ファイルの値を変更します。

presto-connector-postgresql

Presto の postgresql.properties ファイルの値を変更します。

presto-connector-raptor

Presto の raptor.properties ファイルの値を変更します。

presto-connector-redis

Presto の redis.properties ファイルの値を変更します。

presto-connector-redshift

Presto の redshift.properties ファイルの値を変更します。

presto-connector-tpch

Presto の tpcj.properties ファイルの値を変更します。

presto-connector-tpcds

Presto の tpcds.properties ファイルの値を変更します。

spark

Apache Spark 用の Amazon EMR-curated 設定。

spark-defaults

Spark の spark-defaults.conf ファイルの値を変更します。

spark-env

Spark 環境の値を変更します。

spark-hive-site

Spark の hive-site.xml ファイルの値を変更します

spark-log4j

Spark の log4j.properties ファイルの値を変更します。

spark-metrics

Spark の metrics.properties ファイルの値を変更します。

sqoop-env

Sqoop の環境の値を変更します。

sqoop-oraoop-site

Sqoop OraOop の oraoop-site.xml ファイルの値を変更します。

sqoop-site

Sqoop の sqoop-site.xml ファイルの値を変更します。

tez-site

Tez の tez-site.xml ファイルの値を変更します。

yarn-env

YARN 環境の値を変更します。

yarn-site

YARN の yarn-site.xml ファイルの値を変更します。

zeppelin-env

Zeppelin 環境の値を変更します。

zookeeper-config

ZooKeeper の zoo.cfg ファイルの値を変更します。

zookeeper-log4j

ZooKeeper の log4j.properties ファイルの値を変更します。