Amazon EMR release 5.10.0
5.10.0 application versions
The following applications are supported in this release: Flink
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:
emr-5.10.0 | emr-5.9.1 | emr-5.9.0 | emr-5.8.3 | |
---|---|---|---|---|
AWS SDK for Java | 1.11.221 | 1.11.183 | 1.11.183 | 1.11.160 |
Python | 2.7, 3.4 | Not tracked | Not tracked | Not tracked |
Scala | 2.11.8 | 2.11.8 | 2.11.8 | 2.11.8 |
AmazonCloudWatchAgent | - | - | - | - |
Delta | - | - | - | - |
Flink | 1.3.2 | 1.3.2 | 1.3.2 | 1.3.1 |
Ganglia | 3.7.2 | 3.7.2 | 3.7.2 | 3.7.2 |
HBase | 1.3.1 | 1.3.1 | 1.3.1 | 1.3.1 |
HCatalog | 2.3.1 | 2.3.0 | 2.3.0 | 2.3.0 |
Hadoop | 2.7.3 | 2.7.3 | 2.7.3 | 2.7.3 |
Hive | 2.3.1 | 2.3.0 | 2.3.0 | 2.3.0 |
Hudi | - | - | - | - |
Hue | 4.0.1 | 4.0.1 | 4.0.1 | 3.12.0 |
Iceberg | - | - | - | - |
JupyterEnterpriseGateway | - | - | - | - |
JupyterHub | - | - | - | - |
Livy | 0.4.0 | 0.4.0 | 0.4.0 | - |
MXNet | 0.12.0 | - | - | - |
Mahout | 0.13.0 | 0.13.0 | 0.13.0 | 0.13.0 |
Oozie | 4.3.0 | 4.3.0 | 4.3.0 | 4.3.0 |
Phoenix | 4.11.0 | 4.11.0 | 4.11.0 | 4.11.0 |
Pig | 0.17.0 | 0.17.0 | 0.17.0 | 0.16.0 |
Presto | 0.187 | 0.184 | 0.184 | 0.170 |
Spark | 2.2.0 | 2.2.0 | 2.2.0 | 2.2.0 |
Sqoop | 1.4.6 | 1.4.6 | 1.4.6 | 1.4.6 |
TensorFlow | - | - | - | - |
Tez | 0.8.4 | 0.8.4 | 0.8.4 | 0.8.4 |
Trino (PrestoSQL) | - | - | - | - |
Zeppelin | 0.7.3 | 0.7.2 | 0.7.2 | 0.7.2 |
ZooKeeper | 3.4.10 | 3.4.10 | 3.4.10 | 3.4.10 |
5.10.0 release notes
The following release notes include information for the Amazon EMR version 5.10.0 release. Changes are relative to the Amazon EMR 5.9.0 release.
Upgrades
AWS SDK for Java 1.11.221
Hive 2.3.1
Presto 0.187
New features
Added support for Kerberos authentication. For more information, see Use Kerberos Authentication in the Amazon EMR Management Guide
Added support for IAM roles for EMRFS. For more information, see Configure IAM Roles for EMRFS Requests to Amazon S3 in the Amazon EMR Management Guide
Added support for GPU-based P2 and P3 instance types. For more information, see Amazon EC2 P2 Instances
and Amazon EC2 P3 Instances . NVIDIA driver 384.81 and CUDA driver 9.0.176 are installed on these instance types by default. Added support for Apache MXNet.
Changes, enhancements, and resolved issues
Presto
Added support for using the AWS Glue Data Catalog as the default Hive metastore. For more information, see Using Presto with the AWS Glue Data Catalog.
Added support for geospatial functions
. Added spill to disk
support for joins. Added support for the Redshift connector
.
Spark
Backported SPARK-20640
, which makes the rpc timeout and the retries for shuffle registration values configurable using spark.shuffle.registration.timeout
andspark.shuffle.registration.maxAttempts
properties.Backported SPARK-21549
, which corrects an error that occurs when writing custom OutputFormat to non-HDFS locations.
Backported Hadoop-13270
The Numpy, Scipy, and Matplotlib libraries have been removed from the base Amazon EMR AMI. If these libraries are required for your application, they are available in the application repository, so you can use a bootstrap action to install them on all nodes using
yum install
.The Amazon EMR base AMI no longer has application RPM packages included, so the RPM packages are no longer present on cluster nodes. Custom AMIs and the Amazon EMR base AMI now reference the RPM package repository in Amazon S3.
Because of the introduction of per-second billing in Amazon EC2, the default Scale down behavior is now Terminate at task completion rather than Terminate at instance hour. For more information, see Configure Cluster Scale-Down.
Known issues
MXNet does not include OpenCV libraries.
Hive 2.3.1 sets
hive.compute.query.using.stats=true
by default. This causes queries to get data from existing statistics rather than directly from data, which could be confusing. For example, if you have a table withhive.compute.query.using.stats=true
and upload new files to the tableLOCATION
, running aSELECT COUNT(*)
query on the table returns the count from the statistics, rather than picking up the added rows.As a workaround, use the
ANALYZE TABLE
command to gather new statistics, or sethive.compute.query.using.stats=false
. For more information, see Statistics in Hivein the Apache Hive documentation.
5.10.0 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
. The CommunityVersion
-amzn-EmrVersion
starts at 0. For example, if open source community component named EmrVersion
myapp-component
with version 2.2 has been modified three times for inclusion in different Amazon EMR releases, its release version is listed as 2.2-amzn-2
.
Component | Version | Description |
---|---|---|
emr-ddb | 4.5.0 | Amazon DynamoDB connector for Hadoop ecosystem applications. |
emr-goodies | 2.4.0 | Extra convenience libraries for the Hadoop ecosystem. |
emr-kinesis | 3.4.0 | Amazon Kinesis connector for Hadoop ecosystem applications. |
emr-s3-dist-cp | 2.7.0 | Distributed copy application optimized for Amazon S3. |
emrfs | 2.20.0 | Amazon S3 connector for Hadoop ecosystem applications. |
flink-client | 1.3.2 | Apache Flink command line client scripts and applications. |
ganglia-monitor | 3.7.2 | Embedded Ganglia agent for Hadoop ecosystem applications along with the Ganglia monitoring agent. |
ganglia-metadata-collector | 3.7.2 | Ganglia metadata collector for aggregating metrics from Ganglia monitoring agents. |
ganglia-web | 3.7.1 | Web application for viewing metrics collected by the Ganglia metadata collector. |
hadoop-client | 2.7.3-amzn-5 | Hadoop command-line clients such as 'hdfs', 'hadoop', or 'yarn'. |
hadoop-hdfs-datanode | 2.7.3-amzn-5 | HDFS node-level service for storing blocks. |
hadoop-hdfs-library | 2.7.3-amzn-5 | HDFS command-line client and library |
hadoop-hdfs-namenode | 2.7.3-amzn-5 | HDFS service for tracking file names and block locations. |
hadoop-httpfs-server | 2.7.3-amzn-5 | HTTP endpoint for HDFS operations. |
hadoop-kms-server | 2.7.3-amzn-5 | Cryptographic key management server based on Hadoop's KeyProvider API. |
hadoop-mapred | 2.7.3-amzn-5 | MapReduce execution engine libraries for running a MapReduce application. |
hadoop-yarn-nodemanager | 2.7.3-amzn-5 | YARN service for managing containers on an individual node. |
hadoop-yarn-resourcemanager | 2.7.3-amzn-5 | YARN service for allocating and managing cluster resources and distributed applications. |
hadoop-yarn-timeline-server | 2.7.3-amzn-5 | Service for retrieving current and historical information for YARN applications. |
hbase-hmaster | 1.3.1 | Service for an HBase cluster responsible for coordination of Regions and execution of administrative commands. |
hbase-region-server | 1.3.1 | Service for serving one or more HBase regions. |
hbase-client | 1.3.1 | HBase command-line client. |
hbase-rest-server | 1.3.1 | Service providing a RESTful HTTP endpoint for HBase. |
hbase-thrift-server | 1.3.1 | Service providing a Thrift endpoint to HBase. |
hcatalog-client | 2.3.1-amzn-0 | The 'hcat' command line client for manipulating hcatalog-server. |
hcatalog-server | 2.3.1-amzn-0 | Service providing HCatalog, a table and storage management layer for distributed applications. |
hcatalog-webhcat-server | 2.3.1-amzn-0 | HTTP endpoint providing a REST interface to HCatalog. |
hive-client | 2.3.1-amzn-0 | Hive command line client. |
hive-hbase | 2.3.1-amzn-0 | Hive-hbase client. |
hive-metastore-server | 2.3.1-amzn-0 | Service for accessing the Hive metastore, a semantic repository storing metadata for SQL on Hadoop operations. |
hive-server2 | 2.3.1-amzn-0 | Service for accepting Hive queries as web requests. |
hue-server | 4.0.1 | Web application for analyzing data using Hadoop ecosystem applications |
livy-server | 0.4.0-incubating | REST interface for interacting with Apache Spark |
mahout-client | 0.13.0 | Library for machine learning. |
mxnet | 0.12.0 | A flexible, scalable, and efficient library for deep learning. |
mysql-server | 5.5.54+ | MySQL database server. |
nvidia-cuda | 9.0.176 | Nvidia drivers and Cuda toolkit |
oozie-client | 4.3.0 | Oozie command-line client. |
oozie-server | 4.3.0 | Service for accepting Oozie workflow requests. |
phoenix-library | 4.11.0-HBase-1.3 | The phoenix libraries for server and client |
phoenix-query-server | 4.11.0-HBase-1.3 | A light weight server providing JDBC access as well as Protocol Buffers and JSON format access to the Avatica API |
presto-coordinator | 0.187 | Service for accepting queries and managing query execution among presto-workers. |
presto-worker | 0.187 | Service for executing pieces of a query. |
pig-client | 0.17.0 | Pig command-line client. |
spark-client | 2.2.0 | Spark command-line clients. |
spark-history-server | 2.2.0 | Web UI for viewing logged events for the lifetime of a completed Spark application. |
spark-on-yarn | 2.2.0 | In-memory execution engine for YARN. |
spark-yarn-slave | 2.2.0 | Apache Spark libraries needed by YARN slaves. |
sqoop-client | 1.4.6 | Apache Sqoop command-line client. |
tez-on-yarn | 0.8.4 | The tez YARN application and libraries. |
webserver | 2.4.25+ | Apache HTTP server. |
zeppelin-server | 0.7.3 | Web-based notebook that enables interactive data analytics. |
zookeeper-server | 3.4.10 | Centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. |
zookeeper-client | 3.4.10 | ZooKeeper command line client. |
5.10.0 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.
Classifications | Description |
---|---|
capacity-scheduler | Change values in Hadoop's capacity-scheduler.xml file. |
core-site | Change values in Hadoop's core-site.xml file. |
emrfs-site | Change EMRFS settings. |
flink-conf | Change flink-conf.yaml settings. |
flink-log4j | Change Flink log4j.properties settings. |
flink-log4j-yarn-session | Change Flink log4j-yarn-session.properties settings. |
flink-log4j-cli | Change Flink log4j-cli.properties settings. |
hadoop-env | Change values in the Hadoop environment for all Hadoop components. |
hadoop-log4j | Change values in Hadoop's log4j.properties file. |
hadoop-ssl-server | Change hadoop ssl server configuration |
hadoop-ssl-client | Change hadoop ssl client configuration |
hbase | Amazon EMR-curated settings for Apache HBase. |
hbase-env | Change values in HBase's environment. |
hbase-log4j | Change values in HBase's hbase-log4j.properties file. |
hbase-metrics | Change values in HBase's hadoop-metrics2-hbase.properties file. |
hbase-policy | Change values in HBase's hbase-policy.xml file. |
hbase-site | Change values in HBase's hbase-site.xml file. |
hdfs-encryption-zones | Configure HDFS encryption zones. |
hdfs-site | Change values in HDFS's hdfs-site.xml. |
hcatalog-env | Change values in HCatalog's environment. |
hcatalog-server-jndi | Change values in HCatalog's jndi.properties. |
hcatalog-server-proto-hive-site | Change values in HCatalog's proto-hive-site.xml. |
hcatalog-webhcat-env | Change values in HCatalog WebHCat's environment. |
hcatalog-webhcat-log4j2 | Change values in HCatalog WebHCat's log4j2.properties. |
hcatalog-webhcat-site | Change values in HCatalog WebHCat's webhcat-site.xml file. |
hive-beeline-log4j2 | Change values in Hive's beeline-log4j2.properties file. |
hive-parquet-logging | Change values in Hive's parquet-logging.properties file. |
hive-env | Change values in the Hive environment. |
hive-exec-log4j2 | Change values in Hive's hive-exec-log4j2.properties file. |
hive-llap-daemon-log4j2 | Change values in Hive's llap-daemon-log4j2.properties file. |
hive-log4j2 | Change values in Hive's hive-log4j2.properties file. |
hive-site | Change values in Hive's hive-site.xml file |
hiveserver2-site | Change values in Hive Server2's hiveserver2-site.xml file |
hue-ini | Change values in Hue's ini file |
httpfs-env | Change values in the HTTPFS environment. |
httpfs-site | Change values in Hadoop's httpfs-site.xml file. |
hadoop-kms-acls | Change values in Hadoop's kms-acls.xml file. |
hadoop-kms-env | Change values in the Hadoop KMS environment. |
hadoop-kms-log4j | Change values in Hadoop's kms-log4j.properties file. |
hadoop-kms-site | Change values in Hadoop's kms-site.xml file. |
livy-conf | Change values in Livy's livy.conf file. |
livy-env | Change values in the Livy environment. |
livy-log4j | Change Livy log4j.properties settings. |
mapred-env | Change values in the MapReduce application's environment. |
mapred-site | Change values in the MapReduce application's mapred-site.xml file. |
oozie-env | Change values in Oozie's environment. |
oozie-log4j | Change values in Oozie's oozie-log4j.properties file. |
oozie-site | Change values in Oozie's oozie-site.xml file. |
phoenix-hbase-metrics | Change values in Phoenix's hadoop-metrics2-hbase.properties file. |
phoenix-hbase-site | Change values in Phoenix's hbase-site.xml file. |
phoenix-log4j | Change values in Phoenix's log4j.properties file. |
phoenix-metrics | Change values in Phoenix's hadoop-metrics2-phoenix.properties file. |
pig-properties | Change values in Pig's pig.properties file. |
pig-log4j | Change values in Pig's log4j.properties file. |
presto-log | Change values in Presto's log.properties file. |
presto-config | Change values in Presto's config.properties file. |
presto-env | Change values in Presto's presto-env.sh file. |
presto-node | Change values in Presto's node.properties file. |
presto-connector-blackhole | Change values in Presto's blackhole.properties file. |
presto-connector-cassandra | Change values in Presto's cassandra.properties file. |
presto-connector-hive | Change values in Presto's hive.properties file. |
presto-connector-jmx | Change values in Presto's jmx.properties file. |
presto-connector-kafka | Change values in Presto's kafka.properties file. |
presto-connector-localfile | Change values in Presto's localfile.properties file. |
presto-connector-mongodb | Change values in Presto's mongodb.properties file. |
presto-connector-mysql | Change values in Presto's mysql.properties file. |
presto-connector-postgresql | Change values in Presto's postgresql.properties file. |
presto-connector-raptor | Change values in Presto's raptor.properties file. |
presto-connector-redis | Change values in Presto's redis.properties file. |
presto-connector-tpch | Change values in Presto's tpch.properties file. |
spark | Amazon EMR-curated settings for Apache Spark. |
spark-defaults | Change values in Spark's spark-defaults.conf file. |
spark-env | Change values in the Spark environment. |
spark-hive-site | Change values in Spark's hive-site.xml file |
spark-log4j | Change values in Spark's log4j.properties file. |
spark-metrics | Change values in Spark's metrics.properties file. |
sqoop-env | Change values in Sqoop's environment. |
sqoop-oraoop-site | Change values in Sqoop OraOop's oraoop-site.xml file. |
sqoop-site | Change values in Sqoop's sqoop-site.xml file. |
tez-site | Change values in Tez's tez-site.xml file. |
yarn-env | Change values in the YARN environment. |
yarn-site | Change values in YARN's yarn-site.xml file. |
zeppelin-env | Change values in the Zeppelin environment. |
zookeeper-config | Change values in ZooKeeper's zoo.cfg file. |
zookeeper-log4j | Change values in ZooKeeper's log4j.properties file. |