Amazon EMR リリース 5.26.0 - Amazon EMR

Amazon EMR リリース 5.26.0

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

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

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

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

アプリケーションバージョン情報
emr-5.26.0 emr-5.25.0 emr-5.24.1 emr-5.24.0
AWS SDK for Java 1.11.5951.11.5661.11.5461.11.546
Python 2.7、3.62.7、3.62.7、3.62.7、3.6
Scala 利用不可利用不可利用不可利用不可
Delta - - - -
Flink1.8.01.8.01.8.01.8.0
Ganglia3.7.23.7.23.7.23.7.2
HBase1.4.101.4.91.4.91.4.9
HCatalog2.3.52.3.52.3.42.3.4
Hadoop2.8.52.8.52.8.52.8.5
Hive2.3.52.3.52.3.42.3.4
Hudi - - - -
Hue4.4.04.4.04.4.04.4.0
Iceberg - - - -
JupyterEnterpriseGateway - - - -
JupyterHub0.9.60.9.60.9.60.9.6
Livy0.6.00.6.00.6.00.6.0
MXNet1.4.01.4.01.4.01.4.0
Mahout0.13.00.13.00.13.00.13.0
Oozie5.1.05.1.05.1.05.1.0
Phoenix4.14.24.14.14.14.14.14.1
Pig0.17.00.17.00.17.00.17.0
Presto0.2200.2200.2190.219
Spark2.4.32.4.32.4.22.4.2
Sqoop1.4.71.4.71.4.71.4.7
TensorFlow1.13.11.13.11.12.01.12.0
Tez0.9.20.9.20.9.10.9.1
Trino (PrestoSQL) - - - -
Zeppelin0.8.10.8.10.8.10.8.1
ZooKeeper3.4.143.4.143.4.133.4.13

リリースノート

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

初回リリース日: 2019 年 8 月 8 日

最終更新日: 2019 年 8 月 19 日

アップグレード
  • AWS SDK for Java 1.11.595

  • HBase 1.4.10

  • Phoenix 4.14.2

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

    • DynamoDB Connector 4.11.0

    • MariaDB Connector 2.4.2

    • Amazon Redshift JDBC ドライバー 1.2.32.1056

新機能
  • (ベータ) Amazon EMR 5.26.0 を使用すると、Lake Formation と統合されるクラスターを起動できます。この統合により、AWS Glue Data Catalog 内のデータベースとテーブルへのきめ細かな列レベルのアクセスが提供されます。また、これにより、企業の ID システムから EMR Notebooks または Apache Zeppelin へのフェデレーションシングルサインオンが可能になります。詳細については、「Amazon EMR と AWS Lake Formation (ベータ) の統合」を参照してください。

  • (2019 年 8 月 19 日) Amazon EMR のパブリックアクセスブロックが、セキュリティグループをサポートしているすべての Amazon EMR リリースで利用できるようになりました。パブリックアクセスブロックは、各 AWS リージョンに適用されるアカウント全体の設定です。パブリックアクセスブロックにより、クラスターに関連付けられているセキュリティグループに、ポートで IPv4 0.0.0.0/0 または IPv6 ::/0 (パブリックアクセス) からのインバウンドトラフィックを許可するルールがある場合に、クラスターの起動が禁止されます (ポートが例外として指定されている場合を除く)。ポート 22 は、デフォルトで例外になります。詳細については、「Amazon EMR 管理ガイド」の「Amazon EMR のパブリックアクセスブロックの使用」を参照してください。

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

    • EMR 5.26.0 以降では、EMR Notebooks はデフォルトの Python ライブラリに加えて、ノートブックスコープの Python ライブラリもサポートしています。ノートブックスコープのライブラリは、クラスターを再作成したりノートブックをクラスターに再アタッチしたりすることなく、ノートブックエディター内からインストールできます。ノートブックスコープのライブラリは Python 仮想環境に作成されるため、現在のノートブックセッションにのみ適用されます。これにより、ノートブックの依存関係を分離できます。詳細については、「Amazon EMR 管理ガイド」の「ノートブックスコープのライブラリの使用」を参照してください。

  • EMRFS

    • fs.s3.consistent.metadata.etag.verification.enabledtrue に設定すると、ETag 検証機能 (ベータ) を有効にできます。この機能を有効にすると、EMRFS は Amazon S3 ETags を使用して、読み取られているオブジェクトが利用可能な最新バージョンであることを確認します。この機能は、Amazon S3 上のファイルが同じ名前を維持しながら上書きされる、更新後の読み取りのユースケースに役立ちます。この ETag 検証機能は、現在 S3 Select では使用できません。詳細については、「整合性のあるビューを設定する」を参照してください。

  • Spark

    • 現在、次の最適化がデフォルトで有効になります: ダイナミックパーティションプルーニング、DISTINCT before INTERSECT、DISTINCT クエリが後に続く JOIN の SQL 計画統計推論の改善、スカラーサブクエリのフラット化、結合順序の最適化、ブルームフィルター結合。詳細については、「Spark のパフォーマンスの最適化」を参照してください。

    • ソートマージ結合の全体的なステージコード生成が改善されました。

    • クエリフラグメントとサブクエリの再利用が改善されました。

    • Spark の起動時にエグゼキュターを事前割り当てする機能が改善されました。

    • 結合の小さい側にブロードキャストヒントが含まれている場合、ブルームフィルター結合は適用されなくなりました。

  • Tez

    • Tez に関する問題を解決しました。Tez UI は、複数のプライマリノードを持つ Amazon EMR クラスターで動作するようになりました。

既知の問題
  • ソートマージ結合の全体的なステージコード生成機能が改善されたことにより、有効にした場合、メモリプレッシャーが増加する可能性があります。この最適化によってパフォーマンスは向上しますが、十分なメモリを提供するように spark.yarn.executor.memoryOverheadFactor が調整されていない場合、ジョブの再試行または失敗が生じる可能性があります。この機能を無効にするには、spark.sql.sortMergeJoinExec.extendedCodegen.enabled を false に設定します。

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

設定分類

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

emr-5.26.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 ファイルの値を変更します。

recordserver-env

EMR RecordServer 環境の値を変更します。

recordserver-conf

EMR RecordServer の erver.properties ファイルの値を変更します。

recordserver-log4j

EMR RecordServer の log4j.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 ファイルの値を変更します。