最新情報 - Amazon EMR

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

最新情報

このトピックでは、現行リリースの Amazon EMR 6.x シリーズおよび 5.x シリーズの機能と解決された問題について説明します。これらのリリースノートは、「リリース 6.2.0」タブリリース 5.32.0」タブでも参照できます。これらのタブでは、このリリースのアプリケーションバージョン、コンポーネントバージョン、および利用可能な設定分類も参照できます。

新しい Amazon EMR リリースバージョンが入手可能になったときに更新情報を受け取るには、https://docs.aws.amazon.com/emr/latest/ReleaseGuide/amazon-emr-release-notes.rss で Amazon EMR リリースノートの RSS フィードを購読してください。

リリースバージョン 4.2.0 にまでさかのぼる、以前のバージョンのリリースノートについては、「Amazon EMR の最新情報履歴」を参照してください。

注記

Amazon EMR の以前の 25 のリリースバージョンは、AWS 署名バージョン 4 を使用して Amazon S3 へのリクエストを認証するようになりました。AWS 署名バージョン 2 の使用は段階的に廃止され、2020 年 6 月 24 日以降に作成された新しい S3 バケットは、署名バージョン 2 の署名付きリクエストをサポートしません。既存のバケットは引き続き、署名バージョン 2 をサポートします。署名バージョン 4 をサポートする Amazon EMR リリースに移行することをお勧めします。これにより、新しい S3 バケットに引き続きアクセスでき、ワークロードが中断される可能性がなくなります。

署名バージョン 4 をサポートする次の EMR リリースが入手可能になりました。emr-4.7.4、emr-4.8.5、emr-4.9.6、emr-4.10.1、emr-5.1.1、emr-5.2.3、emr-5.3.2、emr-5.4.1、emr-5.5.4、emr-5.6.1、emr-5.7.1、emr-5.8.3、emr-5.9.1、emr-5.10.1、emr-5.11.4、emr-5.12.3、emr-5.13.1、emr-5.14.2、emr-5.15.1、emr-5.16.1、emr-5.17.2、emr-5.18.1、emr-5.19.1、emr-5.20.1、and emr-5.21.2。EMR バージョン 5.22.0 以降は、すでに署名バージョン 4 をサポートしています。

Apache Spark、Apache Hive、Presto などの Amazon EMR アプリケーションを使用している場合は、署名バージョン 4 を使用するようにアプリケーションコードを変更する必要はありません。Amazon EMR に含まれていないカスタムアプリケーションを使用している場合は、署名バージョン 4 を使用するようにコードを更新することが必要になる可能性があります。必要な更新の詳細については、「署名バージョン 2 から署名バージョン 4 への移行」を参照してください。

リリース 6.2.0 (最新バージョンの Amazon EMR 6.x シリーズ)

New Amazon EMR release versions are made available in different regions over a period of several days, beginning with the first region on the initial release date. The latest release version may not be available in your region during this period.

次のリリースノートは、Amazon EMR リリースバージョン 6.2.0 に関する情報を記載しています。6.1.0 からの変更が含まれています。

初回リリース日: 2020 年 12 月 9 日

最終更新日: 2021 年 3 月 24 日

サポートされるアプリケーション

  • AWS SDK for Java バージョン 1.11.828

  • emr-record-server バージョン 1.7.0

  • Flink バージョン 1.11.2

  • Ganglia バージョン 3.7.2

  • Hadoop バージョン 3.2.1-amzn-1

  • HBase バージョン 2.2.6-amzn-0

  • HBase-operator-tools 1.0.0

  • HCatalog バージョン 3.1.2-amzn-0

  • Hive バージョン 3.1.2-amzn-3

  • Hudi バージョン 0.6.0-amzn-1

  • Hue バージョン 4.8.0

  • JupyterHub バージョン 1.1.0

  • Livy バージョン 0.7.0

  • MXNet バージョン 1.7.0

  • Oozie バージョン 5.2.0

  • Phoenix バージョン 5.0.0

  • Pig バージョン 0.17.0

  • Presto バージョン 0.238.3-amzn-1

  • PrestoSQL バージョン 343

  • Spark バージョン 3.0.1-amzn-0

  • spark-rapids 0.2.0

  • TensorFlow バージョン 2.3.1

  • Zeppelin バージョン 0.9.0-preview1

  • Zookeeper バージョン 3.4.14

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

新機能

  • HBase: コミットフェーズの名前変更を削除し、永続的な HFile の追跡を追加しました。Amazon EMR リリース ガイドの「永続的な HFile の追跡」を参照してください。

  • HBase: 「圧縮時にブロックのキャッシュを強制する設定を作成する」をバックポートしました。

  • PrestoDB: 動的パーティションプルーニングの改善。ルールベースの結合順序の最適化は、パーティション化されていないデータに対して機能します。

  • スコープが設定されたマネージドポリシー: AWS のベストプラクティスに従うために、Amazon EMR は、非推奨となるポリシーの代わりとして、v2 EMR をスコープとするデフォルトのマネージドポリシーを導入しています。「Amazon EMR マネージドポリシー」を参照してください。

  • インスタンスメタデータサービス (IMDS) V2 のサポートステータス: Amazon EMR 6.2 以降の場合、Amazon EMR コンポーネントはすべての IMDS 呼び出しで IMDSv2 を使用します。アプリケーションコードでの IMDS 呼び出しの場合、IMDSv1 と IMDSv2 の両方を使用するか、セキュリティを強化するために IMDSv2 のみを使用するように IMDS を設定できます。以前の Amazon EMR 6.x リリースで IMDSv1 を無効にすると、クラスターの起動に失敗します。

変更、拡張、解決した問題

  • Spark: Spark ランタイムのパフォーマンスが向上しました。

既知の問題

  • Lower "Max open files" limit on older AL2. Amazon EMR releases: emr-5.30.x, emr-5.31.0, emr-5.32.0, emr-6.0.0, emr-6.1.0, and emr-6.2.0 are based on older versions of Amazon Linux 2 (AL2), which have a lower ulimit setting for “Max open files” when EMR clusters are created with the default AMI. The lower open file limit causes a "Too many open files" error when submitting Spark job. In the impacted EMR releases, the Amazon EMR default AMI has a default ulimit setting of 4096 for "Max open files," which is lower than the 65536 file limit in the latest Amazon Linux 2 AMI. The lower ulimit setting for "Max open files" causes Spark job failure when the Spark driver and executor try to open more than 4096 files. To fix the issue, Amazon EMR has a bootstrap action (BA) script that adjusts the ulimit setting at cluster creation. Amazon EMR releases 6.3.0 and 5.33.0 will include a permanent fix with a higher "Max open files" setting.

    The following workaround for this issue lets you to explicitly set the instance-controller ulimit to a maximum of 65536 files.

    Explicitly set a ulimit from the command line

    1. Edit /etc/systemd/system/instance-controller.service to add the following parameters to Service section.

      LimitNOFILE=65536

      LimitNPROC=65536

    2. Restart InstanceController

      $ sudo systemctl daemon-reload

      $ sudo systemctl restart instance-controller

    Set a ulimit using bootstrap action (BA)

    You can also use a bootstrap action (BA) script to configure the instance-controller ulimit to 65536 files at cluster creation.

    #!/bin/bash for user in hadoop spark hive; do sudo tee /etc/security/limits.d/$user.conf << EOF $user - nofile 65536 $user - nproc 65536 EOF done for proc in instancecontroller logpusher; do sudo mkdir -p /etc/systemd/system/$proc.service.d/ sudo tee /etc/systemd/system/$proc.service.d/override.conf << EOF [Service] LimitNOFILE=65536 LimitNPROC=65536 EOF pid=$(pgrep -f aws157.$proc.Main) sudo prlimit --pid $pid --nofile=65535:65535 --nproc=65535:65535 done sudo systemctl daemon-reload
  • 重要

    Amazon EMR 6.1.0 および 6.2.0 には、Hudi の挿入、アップサート、および削除オペレーションにすべて重大な影響を与える可能性があるパフォーマンスの問題が含まれています。Amazon EMR 6.1.0 または 6.2.0 で Hudi を使用する予定の場合は、AWS サポートに連絡して、パッチが適用された Hudi RPM を入手してください。

  • 重要

    Amazon Linux または Amazon Linux 2 AMI (Amazon Linux マシンイメージ) を実行している Amazon EMR クラスターは、デフォルトの Amazon Linux 動作を使用します。再起動を必要とする重要かつ不可欠なカーネル更新プログラムを自動的にダウンロードしてインストールすることはありません。これは、デフォルトの Amazon Linux AMI を実行している他の Amazon EC2 インスタンスと同じ動作です。EMR バージョンのリリース後に、再起動を必要とする新しい Amazon Linux ソフトウェア更新プログラム (カーネル、NVIDIA、CUDA 更新プログラムなど) が使用可能になった場合、デフォルト AMI を実行している EMR クラスターインスタンスは、それらの更新プログラムを自動的にダウンロードしてインストールすることはありません。カーネル更新プログラムを取得するには、最新の Amazon Linux AMI を使用するようにAmazon EMR AMI をカスタマイズすることができます。

  • Amazon EMR 6.2.0 Maven アーティファクトは発行されません。これらは Amazon EMR の今後のリリースで発行される予定です。

  • HBase ストアファイルシステムテーブルを使用した永続的な HFile の追跡は、HBase リージョンのレプリケーション機能をサポートしません。HBase リージョンのレプリケーションの詳細については、「Timeline-consistent High Available Reads」を参照してください。

  • Amazon EMR 6.x と EMR 5.x Hive のバケットバージョンの違い

    EMR 5.x は OOS Apache Hive 2 を使用し、EMR 6.x は OOS Apache Hive 3 を使用しています。オープンソースの Hive2 は Bucketing バージョン 1 を使用し、オープンソースの Hive3 は Bucketing バージョン 2 を使用しています。Hive 2 (EMR 5.x) と Hive 3 (EMR 6.x) のこのバケットバージョンの違いは、Hive のバケットハッシュ機能が異なることを意味します。以下の例を参照してください。

    次の表は、それぞれ EMR 6.x と EMR 5.x で作成された例です。

    -- Using following LOCATION in EMR 6.x CREATE TABLE test_bucketing (id INT, desc STRING) PARTITIONED BY (day STRING) CLUSTERED BY(id) INTO 128 BUCKETS LOCATION 's3://your-own-s3-bucket/emr-6-bucketing/'; -- Using following LOCATION in EMR 5.x LOCATION 's3://your-own-s3-bucket/emr-5-bucketing/';

    EMR 6.x と EMR 5.x の両方に同じデータを挿入します。

    INSERT INTO test_bucketing PARTITION (day='01') VALUES(66, 'some_data'); INSERT INTO test_bucketing PARTITION (day='01') VALUES(200, 'some_data');

    S3 の場所を確認すると、ハッシュ関数が EMR 6.x (Hive 3) と EMR 5.x (Hive 2) で異なるため、バケットファイル名が異なることがわかります。

    [hadoop@ip-10-0-0-122 ~]$ aws s3 ls s3://your-own-s3-bucket/emr-6-bucketing/day=01/ 2020-10-21 20:35:16 13 000025_0 2020-10-21 20:35:22 14 000121_0 [hadoop@ip-10-0-0-122 ~]$ aws s3 ls s3://your-own-s3-bucket/emr-5-bucketing/day=01/ 2020-10-21 20:32:07 13 000066_0 2020-10-21 20:32:51 14 000072_0

    EMR 6.x の Hive CLI で次のコマンドを実行することでも、バージョンの違いを確認できます。これにより、バケットバージョン 2 が返されることに注意してください。

    hive> DESCRIBE FORMATTED test_bucketing; ... Table Parameters: bucketing_version 2 ...

リリース 5.32.0 (最新バージョンの Amazon EMR 5.x シリーズ)

New Amazon EMR release versions are made available in different regions over a period of several days, beginning with the first region on the initial release date. The latest release version may not be available in your region during this period.

次のリリースノートは、Amazon EMR リリースバージョン 5.32.0 に関する情報を記載しています。5.31.0 からの変更が含まれています。

初回リリース日: 2021 年 1 月 8 日

アップグレード

  • Amazon Glue コネクタをバージョン 1.14.0 にアップグレードしました

  • Amazon SageMaker Spark SDK をバージョン 1.4.1 にアップグレードしました

  • AWS Java SDK をバージョン 1.11.890 にアップグレードしました

  • EMR DynamoDB Connector をバージョン 4.16.0 にアップグレードしました

  • EMRFS をバージョン 2.45.0 にアップグレードしました

  • EMR Log Analytics Metrics をバージョン 1.18.0 にアップグレードしました

  • EMR MetricsAndEventsApiGateway クライアントをバージョン 1.5.0 にアップグレードしました

  • EMR Record Server をバージョン 1.8.0 にアップグレードしました

  • EMR S3 Dist CP をバージョン 2.17.0 にアップグレードしました

  • EMR Secret Agent をバージョン 1.7.0 にアップグレードしました

  • Flink をバージョン 1.11.2 にアップグレードしました

  • Hadoop をバージョン 2.10.1-amzn-0 にアップグレードしました

  • Hive をバージョン 2.3.7-amzn-3 にアップグレードしました

  • Hue をバージョン 4.8.0 にアップグレードしました

  • Mxnet をバージョン 1.7.0 にアップグレードしました

  • OpenCV をバージョン 4.4.0 にアップグレードしました

  • Presto をバージョン 0.240.1-amzn-0 にアップグレードしました

  • Spark をバージョン 2.4.7-amzn-0 にアップグレードしました

  • TensorFlow をバージョン 2.3.1 にアップグレードしました

変更、拡張、解決した問題

  • コンポーネントのバージョンをアップグレードしました。

  • コンポーネントバージョンのリストについては、このガイドの「Amazon EMR リリースについて」を参照してください。

新機能

  • インスタンスメタデータサービス (IMDS) V2 のサポートステータス: Amazon EMR 5.23.1、5.27.1、5.32 以降のコンポーネントは、すべての IMDS 呼び出しで IMDSv2 を使用します。アプリケーションコードでの IMDS 呼び出しの場合、IMDSv1 と IMDSv2 の両方を使用するか、セキュリティを強化するために IMDSv2 のみを使用するように IMDS を設定できます。その他の 5.x EMR リリースでは、IMDSv1 を無効にすると、クラスターの起動に失敗します。

  • Amazon EMR 5.32.0 以降では、Apache Ranger とネイティブに統合するクラスターを起動できます。Apache Ranger は、Hadoop プラットフォーム全体の包括的なデータセキュリティを有効化、モニタリング、管理するオープンソースフレームワークです。詳細については、「Apache Ranger」を参照してください。ネイティブ統合により、独自の Apache Ranger を使用して Amazon EMR に対してきめ細かなデータアクセスコントロールを適用できます。Amazon EMR リリース ガイド の「Amazon EMR と Apache Ranger の統合」を参照してください。

  • Amazon EMR リリース 5.32.0 は、Amazon EMR on EKS をサポートしています。EMR on EKS の開始方法の詳細については、「Amazon EMR on EKS とは」を参照してください。

  • Amazon EMR リリース 5.32.0 は、Amazon EMR Studio (プレビュー) をサポートしています。EMR Studio の開始方法の詳細については、「Amazon EMR Studio (プレビュー)」を参照してください。

  • スコープが設定されたマネージドポリシー: AWS のベストプラクティスに従うために、Amazon EMR は、非推奨となるポリシーの代わりとして、v2 EMR をスコープとするデフォルトのマネージドポリシーを導入しています。「Amazon EMR マネージドポリシー」を参照してください。

既知の問題

  • Lower "Max open files" limit on older AL2. Amazon EMR releases: emr-5.30.x, emr-5.31.0, emr-5.32.0, emr-6.0.0, emr-6.1.0, and emr-6.2.0 are based on older versions of Amazon Linux 2 (AL2), which have a lower ulimit setting for “Max open files” when EMR clusters are created with the default AMI. The lower open file limit causes a "Too many open files" error when submitting Spark job. In the impacted EMR releases, the Amazon EMR default AMI has a default ulimit setting of 4096 for "Max open files," which is lower than the 65536 file limit in the latest Amazon Linux 2 AMI. The lower ulimit setting for "Max open files" causes Spark job failure when the Spark driver and executor try to open more than 4096 files. To fix the issue, Amazon EMR has a bootstrap action (BA) script that adjusts the ulimit setting at cluster creation. Amazon EMR releases 6.3.0 and 5.33.0 will include a permanent fix with a higher "Max open files" setting.

    The following workaround for this issue lets you to explicitly set the instance-controller ulimit to a maximum of 65536 files.

    Explicitly set a ulimit from the command line

    1. Edit /etc/systemd/system/instance-controller.service to add the following parameters to Service section.

      LimitNOFILE=65536

      LimitNPROC=65536

    2. Restart InstanceController

      $ sudo systemctl daemon-reload

      $ sudo systemctl restart instance-controller

    Set a ulimit using bootstrap action (BA)

    You can also use a bootstrap action (BA) script to configure the instance-controller ulimit to 65536 files at cluster creation.

    #!/bin/bash for user in hadoop spark hive; do sudo tee /etc/security/limits.d/$user.conf << EOF $user - nofile 65536 $user - nproc 65536 EOF done for proc in instancecontroller logpusher; do sudo mkdir -p /etc/systemd/system/$proc.service.d/ sudo tee /etc/systemd/system/$proc.service.d/override.conf << EOF [Service] LimitNOFILE=65536 LimitNPROC=65536 EOF pid=$(pgrep -f aws157.$proc.Main) sudo prlimit --pid $pid --nofile=65535:65535 --nproc=65535:65535 done sudo systemctl daemon-reload
  • 重要

    Amazon Linux または Amazon Linux 2 AMI (Amazon Linux マシンイメージ) を実行している Amazon EMR クラスターは、デフォルトの Amazon Linux 動作を使用します。再起動を必要とする重要かつ不可欠なカーネル更新プログラムを自動的にダウンロードしてインストールすることはありません。これは、デフォルトの Amazon Linux AMI を実行している他の Amazon EC2 インスタンスと同じ動作です。EMR バージョンのリリース後に、再起動を必要とする新しい Amazon Linux ソフトウェア更新プログラム (カーネル、NVIDIA、CUDA 更新プログラムなど) が使用可能になった場合、デフォルト AMI を実行している EMR クラスターインスタンスは、それらの更新プログラムを自動的にダウンロードしてインストールすることはありません。カーネル更新プログラムを取得するには、最新の Amazon Linux AMI を使用するようにAmazon EMR AMI をカスタマイズすることができます。

  • AWS Ranger 統合オプションを指定するセキュリティ設定を作成するコンソールサポートは、現在 GovCloud リージョンではサポートされていません。セキュリティ設定を行うには、CLI を使用できます。Amazon EMR 管理ガイド の「EMR セキュリティ設定の作成」を参照してください。