Amazon EMR release 5.35.0 - Amazon EMR

Amazon EMR release 5.35.0

Application versions

The following applications are supported in this release: Flink, Ganglia, HBase, HCatalog, Hadoop, Hive, Hudi, Hue, Iceberg, JupyterEnterpriseGateway, JupyterHub, Livy, MXNet, Mahout, Oozie, Phoenix, Pig, Presto, Spark, Sqoop, TensorFlow, Tez, Zeppelin, and ZooKeeper.

The table below lists the application versions available in this release of Amazon EMR and the application versions in the preceding three Amazon EMR releases (when applicable).

For a comprehensive history of application versions for each release of Amazon EMR, see the following topics:

Application version information
emr-5.35.0 emr-5.34.0 emr-5.33.1 emr-5.33.0
AWS SDK for Java 1.12.1591.11.9701.11.9701.11.970
Flink1.14.21.13.11.12.11.12.1
Ganglia3.7.23.7.23.7.23.7.2
HBase1.4.131.4.131.4.131.4.13
HCatalog2.3.92.3.82.3.72.3.7
Hadoop2.10.12.10.12.10.12.10.1
Hive2.3.92.3.82.3.72.3.7
Hudi0.9.0-amzn-20.9.0-amzn-00.7.0-amzn-10.7.0-amzn-1
Hue4.10.04.9.04.9.04.9.0
Iceberg - - - -
JupyterEnterpriseGateway2.1.02.1.02.1.02.1.0
JupyterHub1.4.11.4.11.2.21.2.2
Livy0.7.10.7.10.7.00.7.0
MXNet1.8.01.8.01.7.01.7.0
Mahout0.13.00.13.00.13.00.13.0
Oozie5.2.15.2.15.2.05.2.0
Phoenix4.14.34.14.34.14.34.14.3
Pig0.17.00.17.00.17.00.17.0
Presto0.2660.2610.245.10.245.1
Spark2.4.82.4.82.4.72.4.7
Sqoop1.4.71.4.71.4.71.4.7
TensorFlow2.4.12.4.12.4.12.4.1
Tez0.9.20.9.20.9.20.9.2
Trino (PrestoSQL) - - - -
Zeppelin0.10.00.10.00.9.00.9.0
ZooKeeper3.4.143.4.143.4.143.4.14

Release notes

This is the Amazon EMR release version 5.35.0 release note.

The following release notes include information for Amazon EMR release version 5.35.0. Changes are relative to 5.34.0.

Initial release date: March 30, 2022

New Features

  • Amazon EMR release 5.35 applications that use Log4j 1.x and Log4j 2.x are upgraded to use Log4j 1.2.17 (or higher) and Log4j 2.17.1 (or higher) respectively, and do not require using bootstrap actions to mitigate the CVE issues in previous releases. See Approach to mitigate CVE-2021-44228.

Changes, Enhancements, and Resolved Issues

Flink changes
Change type Description
Upgrades
  • Update flink version to 1.14.2.

  • log4j upgraded to 2.17.1.

Hadoop changes
Change type Description
Hadoop open source backports since EMR 5.34.0
  • YARN-10438: Handle null containerId in ClientRMService#getContainerReport()

  • YARN-7266: Timeline Server event handler threads locked

  • YARN-10438: ATS 1.5 fails to start if RollingLevelDb files are corrupt or missing

  • HADOOP-13500: Synchronizing iteration of Configuration properties object

  • YARN-10651: CapacityScheduler crashed with NPE in AbstractYarnScheduler.updateNodeResource()

  • HDFS-12221: Replace xerces in XmlEditsVisitor

  • HDFS-16410: Insecure Xml parsing in OfflineEditsXmlLoader

Hadoop changes and fixes
  • Tomcat used in KMS and HttpFS is upgraded to 8.5.75

  • In FileSystemOptimizedCommitterV2, the success marker was written in the commitJob output path defined while creating the committer. Since commitJob and task level output paths can differ, the path has been corrected to use the one defined in manifest files. For Hive jobs, this results in the success marker being written correctly in when performing operations such as dynamic partition or UNION ALL.

Hive changes
Change type Description
Hive upgraded to open source release 2.3.9, including these JIRA fixes
  • HIVE-17155: findConfFile() in HiveConf.java has some issues with the conf path

  • HIVE-24797: Disable validate default values when parsing Avro schemas

  • HIVE-21563: Improve Table#getEmptyTable performance by disable registerAllFunctionsOnce

  • HIVE-18147: Tests can fail with java.net.BindException: Address already in use

  • HIVE-24608: Switch back to get_table in HMS client for Hive 2.3.x

  • HIVE-21200: Vectorization - date column throwing java.lang.UnsupportedOperationException for parquet

  • HIVE-19228: Remove commons-httpclient 3.x usage

Hive open source backports since EMR 5.34.0
  • HIVE-19990: Query with interval literal in join condition fails

  • HIVE-25824: Upgrade branch-2.3 to log4j 2.17.0

  • TEZ-4062: Speculative attempt scheduling should be aborted when Task has completed

  • TEZ-4108: NullPointerException during speculative execution race condition

  • TEZ-3918: Setting tez.task.log.level does not work

Hive upgrades and fixes
  • Upgrade Log4j version to 2.17.1

  • Upgrade ORC version to 1.4.3

  • FixED deadlock due to penalty thread in ShuffleScheduler

New features
  • Added feature to print Hive Query in AM logs. This is disabled by default. Flag/Conf: tez.am.emr.print.hive.query.in.log. Status (default): FALSE.

Oozie changes
Change type Description
Oozie open source backports since EMR 5.34.0
  • OOZIE-3652: Oozie launcher should retry directory listing when NoSuchFileException occurs

Pig changes
Change type Description
Upgrades
  • log4j upgraded to 1.2.17.

Component versions

The components that Amazon EMR installs with this release are listed below. Some are installed as part of big-data application packages. Others are unique to Amazon EMR and installed for system processes and features. These typically start with emr or aws. Big-data application packages in the most recent Amazon EMR release are usually the latest version found in the community. We make community releases available in Amazon EMR as quickly as possible.

Some components in Amazon EMR differ from community versions. These components have a version label in the form CommunityVersion-amzn-EmrVersion. The EmrVersion starts at 0. For example, if open source community component named myapp-component with version 2.2 has been modified three times for inclusion in different Amazon EMR release versions, its release version is listed as 2.2-amzn-2.

Component Version Description
aws-sagemaker-spark-sdk1.4.1Amazon SageMaker Spark SDK
emr-ddb4.16.0Amazon DynamoDB connector for Hadoop ecosystem applications.
emr-goodies2.15.0Extra convenience libraries for the Hadoop ecosystem.
emr-kinesis3.5.0Amazon Kinesis connector for Hadoop ecosystem applications.
emr-notebook-env1.5.0Conda env for emr notebook which includes jupyter enterprise gateway
emr-s3-dist-cp2.20.0Distributed copy application optimized for Amazon S3.
emr-s3-select1.7.0EMR S3Select Connector
emrfs2.49.0Amazon S3 connector for Hadoop ecosystem applications.
flink-client1.14.2Apache Flink command line client scripts and applications.
flink-jobmanager-config1.14.2Managing resources on EMR nodes for Apache Flink JobManager.
ganglia-monitor3.7.2Embedded Ganglia agent for Hadoop ecosystem applications along with the Ganglia monitoring agent.
ganglia-metadata-collector3.7.2Ganglia metadata collector for aggregating metrics from Ganglia monitoring agents.
ganglia-web3.7.1Web application for viewing metrics collected by the Ganglia metadata collector.
hadoop-client2.10.1-amzn-3Hadoop command-line clients such as 'hdfs', 'hadoop', or 'yarn'.
hadoop-hdfs-datanode2.10.1-amzn-3HDFS node-level service for storing blocks.
hadoop-hdfs-library2.10.1-amzn-3HDFS command-line client and library
hadoop-hdfs-namenode2.10.1-amzn-3HDFS service for tracking file names and block locations.
hadoop-hdfs-journalnode2.10.1-amzn-3HDFS service for managing the Hadoop filesystem journal on HA clusters.
hadoop-httpfs-server2.10.1-amzn-3HTTP endpoint for HDFS operations.
hadoop-kms-server2.10.1-amzn-3Cryptographic key management server based on Hadoop's KeyProvider API.
hadoop-mapred2.10.1-amzn-3MapReduce execution engine libraries for running a MapReduce application.
hadoop-yarn-nodemanager2.10.1-amzn-3YARN service for managing containers on an individual node.
hadoop-yarn-resourcemanager2.10.1-amzn-3YARN service for allocating and managing cluster resources and distributed applications.
hadoop-yarn-timeline-server2.10.1-amzn-3Service for retrieving current and historical information for YARN applications.
hbase-hmaster1.4.13Service for an HBase cluster responsible for coordination of Regions and execution of administrative commands.
hbase-region-server1.4.13Service for serving one or more HBase regions.
hbase-client1.4.13HBase command-line client.
hbase-rest-server1.4.13Service providing a RESTful HTTP endpoint for HBase.
hbase-thrift-server1.4.13Service providing a Thrift endpoint to HBase.
hcatalog-client2.3.9-amzn-0The 'hcat' command line client for manipulating hcatalog-server.
hcatalog-server2.3.9-amzn-0Service providing HCatalog, a table and storage management layer for distributed applications.
hcatalog-webhcat-server2.3.9-amzn-0HTTP endpoint providing a REST interface to HCatalog.
hive-client2.3.9-amzn-0Hive command line client.
hive-hbase2.3.9-amzn-0Hive-hbase client.
hive-metastore-server2.3.9-amzn-0Service for accessing the Hive metastore, a semantic repository storing metadata for SQL on Hadoop operations.
hive-server22.3.9-amzn-0Service for accepting Hive queries as web requests.
hudi0.9.0-amzn-2Incremental processing framework to power data pipeline at low latency and high efficiency.
hudi-spark0.9.0-amzn-2Bundle library for running Spark with Hudi.
hudi-presto0.9.0-amzn-2Bundle library for running Presto with Hudi.
hue-server4.10.0Web application for analyzing data using Hadoop ecosystem applications
jupyterhub1.4.1Multi-user server for Jupyter notebooks
livy-server0.7.1-incubatingREST interface for interacting with Apache Spark
nginx1.13.1nginx [engine x] is an HTTP and reverse proxy server
mahout-client0.13.0Library for machine learning.
mxnet1.8.0A flexible, scalable, and efficient library for deep learning.
mariadb-server5.5.68MySQL database server.
nvidia-cuda10.1.243Nvidia drivers and Cuda toolkit
oozie-client5.2.1Oozie command-line client.
oozie-server5.2.1Service for accepting Oozie workflow requests.
opencv4.5.0Open Source Computer Vision Library.
phoenix-library4.14.3-HBase-1.4The phoenix libraries for server and client
phoenix-query-server4.14.3-HBase-1.4A light weight server providing JDBC access as well as Protocol Buffers and JSON format access to the Avatica API
presto-coordinator0.266-amzn-0Service for accepting queries and managing query execution among presto-workers.
presto-worker0.266-amzn-0Service for executing pieces of a query.
presto-client0.266-amzn-0Presto command-line client which is installed on an HA cluster's stand-by masters where Presto server is not started.
pig-client0.17.0Pig command-line client.
r4.0.2The R Project for Statistical Computing
ranger-kms-server1.2.0Apache Ranger Key Management System
spark-client2.4.8-amzn-1Spark command-line clients.
spark-history-server2.4.8-amzn-1Web UI for viewing logged events for the lifetime of a completed Spark application.
spark-on-yarn2.4.8-amzn-1In-memory execution engine for YARN.
spark-yarn-slave2.4.8-amzn-1Apache Spark libraries needed by YARN slaves.
sqoop-client1.4.7Apache Sqoop command-line client.
tensorflow2.4.1TensorFlow open source software library for high performance numerical computation.
tez-on-yarn0.9.2The tez YARN application and libraries.
webserver2.4.25+Apache HTTP server.
zeppelin-server0.10.0Web-based notebook that enables interactive data analytics.
zookeeper-server3.4.14Centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services.
zookeeper-client3.4.14ZooKeeper command line client.

Configuration classifications

Configuration classifications allow you to customize applications. These often correspond to a configuration XML file for the application, such as hive-site.xml. For more information, see Configure applications.

Reconfiguration actions occur when you specify a configuration for instance groups in a running cluster. EMR only initiates reconfiguration actions for the classifications that you modify. For more information, see Reconfigure an instance group in a running cluster.

emr-5.35.0 classifications
Classifications Description Reconfiguration Actions

capacity-scheduler

Change values in Hadoop's capacity-scheduler.xml file.

Restarts the ResourceManager service.

container-executor

Change values in Hadoop YARN's container-executor.cfg file.

Not available.

container-log4j

Change values in Hadoop YARN's container-log4j.properties file.

Not available.

core-site

Change values in Hadoop's core-site.xml file.

Restarts the Hadoop HDFS services Namenode, SecondaryNamenode, Datanode, ZKFC, and Journalnode. Restarts the Hadoop YARN services ResourceManager, NodeManager, ProxyServer, and TimelineServer. Additionally restarts Hadoop KMS, Ranger KMS, HiveServer2, Hive MetaStore, Hadoop Httpfs, and MapReduce-HistoryServer.

docker-conf

Change docker related settings.

Not available.

emrfs-site

Change EMRFS settings.

Restarts the Hadoop HDFS services Namenode, SecondaryNamenode, Datanode, ZKFC, and Journalnode. Restarts the Hadoop YARN services ResourceManager, NodeManager, ProxyServer, and TimelineServer. Additionally restarts HBaseRegionserver, HBaseMaster, HBaseThrift, HBaseRest, HiveServer2, Hive MetaStore, Hadoop Httpfs, and MapReduce-HistoryServer.

flink-conf

Change flink-conf.yaml settings.

Restarts Flink history server.

flink-log4j

Change Flink log4j.properties settings.

Restarts Flink history server.

flink-log4j-session

Change Flink log4j-session.properties settings for Kubernetes/Yarn session.

Not available.

flink-log4j-cli

Change Flink log4j-cli.properties settings.

Restarts Flink history server.

hadoop-env

Change values in the Hadoop environment for all Hadoop components.

Restarts the Hadoop HDFS services Namenode, SecondaryNamenode, Datanode, ZKFC, and Journalnode. Restarts the Hadoop YARN services ResourceManager, NodeManager, ProxyServer, and TimelineServer. Additionally restarts PhoenixQueryserver, HiveServer2, Hive MetaStore, and MapReduce-HistoryServer.

hadoop-log4j

Change values in Hadoop's log4j.properties file.

Restarts the Hadoop HDFS services Namenode, SecondaryNamenode, Datanode, ZKFC, and Journalnode. Restarts the Hadoop YARN services ResourceManager, NodeManager, ProxyServer, and TimelineServer. Additionally restarts Hadoop KMS, Hadoop Httpfs, and MapReduce-HistoryServer.

hadoop-ssl-server

Change hadoop ssl server configuration

Not available.

hadoop-ssl-client

Change hadoop ssl client configuration

Not available.

hbase

Amazon EMR-curated settings for Apache HBase.

Custom EMR specific property. Sets emrfs-site and hbase-site configs. See those for their associated restarts.

hbase-env

Change values in HBase's environment.

Restarts the HBase services RegionServer, HBaseMaster, ThriftServer, RestServer.

hbase-log4j

Change values in HBase's hbase-log4j.properties file.

Restarts the HBase services RegionServer, HBaseMaster, ThriftServer, RestServer.

hbase-metrics

Change values in HBase's hadoop-metrics2-hbase.properties file.

Restarts the HBase services RegionServer, HBaseMaster, ThriftServer, RestServer.

hbase-policy

Change values in HBase's hbase-policy.xml file.

Not available.

hbase-site

Change values in HBase's hbase-site.xml file.

Restarts the HBase services RegionServer, HBaseMaster, ThriftServer, RestServer. Additionally restarts Phoenix QueryServer.

hdfs-encryption-zones

Configure HDFS encryption zones.

Should not be reconfigured.

hdfs-site

Change values in HDFS's hdfs-site.xml.

Restarts the Hadoop HDFS services Namenode, SecondaryNamenode, Datanode, ZKFC, and Journalnode. Additionally restarts Hadoop Httpfs.

hcatalog-env

Change values in HCatalog's environment.

Restarts Hive HCatalog Server.

hcatalog-server-jndi

Change values in HCatalog's jndi.properties.

Restarts Hive HCatalog Server.

hcatalog-server-proto-hive-site

Change values in HCatalog's proto-hive-site.xml.

Restarts Hive HCatalog Server.

hcatalog-webhcat-env

Change values in HCatalog WebHCat's environment.

Restarts Hive WebHCat Server.

hcatalog-webhcat-log4j2

Change values in HCatalog WebHCat's log4j2.properties.

Restarts Hive WebHCat Server.

hcatalog-webhcat-site

Change values in HCatalog WebHCat's webhcat-site.xml file.

Restarts Hive WebHCat Server.

hive-beeline-log4j2

Change values in Hive's beeline-log4j2.properties file.

Not available.

hive-parquet-logging

Change values in Hive's parquet-logging.properties file.

Not available.

hive-env

Change values in the Hive environment.

Restarts HiveServer2 and HiveMetastore. Runs Hive schemaTool CLI commands to verify hive-metastore.

hive-exec-log4j2

Change values in Hive's hive-exec-log4j2.properties file.

Restarts HiveServer2 and HiveMetastore.

hive-llap-daemon-log4j2

Change values in Hive's llap-daemon-log4j2.properties file.

Not available.

hive-log4j2

Change values in Hive's hive-log4j2.properties file.

Not available.

hive-site

Change values in Hive's hive-site.xml file

Restarts HiveServer2 and HiveMetastore. Runs Hive schemaTool CLI commands to verify hive-metastore. Also restarts Oozie and Zeppelin.

hiveserver2-site

Change values in Hive Server2's hiveserver2-site.xml file

Not available.

hue-ini

Change values in Hue's ini file

Restarts Hue. Also activates Hue config override CLI commands to pick up new configurations.

httpfs-env

Change values in the HTTPFS environment.

Restarts Hadoop Httpfs service.

httpfs-site

Change values in Hadoop's httpfs-site.xml file.

Restarts Hadoop Httpfs service.

hadoop-kms-acls

Change values in Hadoop's kms-acls.xml file.

Not available.

hadoop-kms-env

Change values in the Hadoop KMS environment.

Restarts Hadoop-KMS service.

hadoop-kms-log4j

Change values in Hadoop's kms-log4j.properties file.

Not available.

hadoop-kms-site

Change values in Hadoop's kms-site.xml file.

Restarts Hadoop-KMS and Ranger-KMS service.

hudi-env

Change values in the Hudi environment.

Not available.

jupyter-notebook-conf

Change values in Jupyter Notebook's jupyter_notebook_config.py file.

Not available.

jupyter-hub-conf

Change values in JupyterHubs's jupyterhub_config.py file.

Not available.

jupyter-s3-conf

Configure Jupyter Notebook S3 persistence.

Not available.

jupyter-sparkmagic-conf

Change values in Sparkmagic's config.json file.

Not available.

livy-conf

Change values in Livy's livy.conf file.

Restarts Livy Server.

livy-env

Change values in the Livy environment.

Restarts Livy Server.

livy-log4j

Change Livy log4j.properties settings.

Restarts Livy Server.

mapred-env

Change values in the MapReduce application's environment.

Restarts Hadoop MapReduce-HistoryServer.

mapred-site

Change values in the MapReduce application's mapred-site.xml file.

Restarts Hadoop MapReduce-HistoryServer.

oozie-env

Change values in Oozie's environment.

Restarts Oozie.

oozie-log4j

Change values in Oozie's oozie-log4j.properties file.

Restarts Oozie.

oozie-site

Change values in Oozie's oozie-site.xml file.

Restarts Oozie.

phoenix-hbase-metrics

Change values in Phoenix's hadoop-metrics2-hbase.properties file.

Not available.

phoenix-hbase-site

Change values in Phoenix's hbase-site.xml file.

Not available.

phoenix-log4j

Change values in Phoenix's log4j.properties file.

Restarts Phoenix-QueryServer.

phoenix-metrics

Change values in Phoenix's hadoop-metrics2-phoenix.properties file.

Not available.

pig-env

Change values in the Pig environment.

Not available.

pig-properties

Change values in Pig's pig.properties file.

Restarts Oozie.

pig-log4j

Change values in Pig's log4j.properties file.

Not available.

presto-log

Change values in Presto's log.properties file.

Restarts Presto-Server.

presto-config

Change values in Presto's config.properties file.

Restarts Presto-Server.

presto-password-authenticator

Change values in Presto's password-authenticator.properties file.

Not available.

presto-env

Change values in Presto's presto-env.sh file.

Restarts Presto-Server.

presto-node

Change values in Presto's node.properties file.

Not available.

presto-connector-blackhole

Change values in Presto's blackhole.properties file.

Not available.

presto-connector-cassandra

Change values in Presto's cassandra.properties file.

Not available.

presto-connector-hive

Change values in Presto's hive.properties file.

Restarts Presto-Server.

presto-connector-jmx

Change values in Presto's jmx.properties file.

Not available.

presto-connector-kafka

Change values in Presto's kafka.properties file.

Not available.

presto-connector-localfile

Change values in Presto's localfile.properties file.

Not available.

presto-connector-memory

Change values in Presto's memory.properties file.

Not available.

presto-connector-mongodb

Change values in Presto's mongodb.properties file.

Not available.

presto-connector-mysql

Change values in Presto's mysql.properties file.

Not available.

presto-connector-postgresql

Change values in Presto's postgresql.properties file.

Not available.

presto-connector-raptor

Change values in Presto's raptor.properties file.

Not available.

presto-connector-redis

Change values in Presto's redis.properties file.

Not available.

presto-connector-redshift

Change values in Presto's redshift.properties file.

Not available.

presto-connector-tpch

Change values in Presto's tpch.properties file.

Not available.

presto-connector-tpcds

Change values in Presto's tpcds.properties file.

Not available.

ranger-kms-dbks-site

Change values in dbks-site.xml file of Ranger KMS.

Restarts Ranger KMS Server.

ranger-kms-site

Change values in ranger-kms-site.xml file of Ranger KMS.

Restarts Ranger KMS Server.

ranger-kms-env

Change values in the Ranger KMS environment.

Restarts Ranger KMS Server.

ranger-kms-log4j

Change values in kms-log4j.properties file of Ranger KMS.

Not available.

ranger-kms-db-ca

Change values for CA file on S3 for MySQL SSL connection with Ranger KMS.

Not available.

recordserver-env

Change values in the EMR RecordServer environment.

Restarts EMR record server.

recordserver-conf

Change values in EMR RecordServer's erver.properties file.

Restarts EMR record server.

recordserver-log4j

Change values in EMR RecordServer's log4j.properties file.

Restarts EMR record server.

spark

Amazon EMR-curated settings for Apache Spark.

This property modifies spark-defaults. See actions there.

spark-defaults

Change values in Spark's spark-defaults.conf file.

Restarts Spark history server and Spark thrift server.

spark-env

Change values in the Spark environment.

Restarts Spark history server and Spark thrift server.

spark-hive-site

Change values in Spark's hive-site.xml file

Not available.

spark-log4j

Change values in Spark's log4j.properties file.

Restarts Spark history server and Spark thrift server.

spark-metrics

Change values in Spark's metrics.properties file.

Restarts Spark history server and Spark thrift server.

sqoop-env

Change values in Sqoop's environment.

Not available.

sqoop-oraoop-site

Change values in Sqoop OraOop's oraoop-site.xml file.

Not available.

sqoop-site

Change values in Sqoop's sqoop-site.xml file.

Not available.

tez-site

Change values in Tez's tez-site.xml file.

Restarts Oozie.

yarn-env

Change values in the YARN environment.

Restarts the Hadoop YARN services ResourceManager, NodeManager, ProxyServer, and TimelineServer. Additionally restarts MapReduce-HistoryServer.

yarn-site

Change values in YARN's yarn-site.xml file.

Restarts the Hadoop YARN services ResourceManager, NodeManager, ProxyServer, and TimelineServer. Additionally restarts Livy Server and MapReduce-HistoryServer.

zeppelin-env

Change values in the Zeppelin environment.

Restarts Zeppelin.

zeppelin-site

Change configuration settings in zeppelin-site.xml.

Restarts Zeppelin.

zookeeper-config

Change values in ZooKeeper's zoo.cfg file.

Restarts Zookeeper server.

zookeeper-log4j

Change values in ZooKeeper's log4j.properties file.

Restarts Zookeeper server.