Amazon EMR release 4.7.0 - Amazon EMR

Amazon EMR release 4.7.0

Note

AWS is updating the TLS configuration for all AWS API endpoints to a minimum version of TLS 1.2. Amazon EMR release 4.7.0 only supports TLS 1.0/1.1 connections. After December 4, 2023, you won't be able to create clusters with the emr-4.7.0 release label.

If you use Amazon EMR 4.7.0, we recommend that you immediately test and migrate your workloads to the latest Amazon EMR release. For more information, see the AWS Security Blog.

Application versions

The following applications are supported in this release: Ganglia, HBase, HCatalog, Hadoop, Hive, Hue, Mahout, Oozie-Sandbox, Phoenix, Pig, Presto-Sandbox, Spark, Sqoop-Sandbox, Tez, Zeppelin-Sandbox, and ZooKeeper-Sandbox.

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-4.7.0 emr-4.6.1 emr-4.6.0 emr-4.5.0
AWS SDK for Java 1.10.751.10.271.10.271.10.27
Python Not trackedNot trackedNot trackedNot tracked
Scala Not trackedNot trackedNot trackedNot tracked
AmazonCloudWatchAgent - - - -
Delta - - - -
Flink - - - -
Ganglia3.7.23.7.23.7.23.7.2
HBase1.2.11.2.01.2.0 -
HCatalog1.0.01.0.01.0.01.0.0
Hadoop2.7.22.7.22.7.22.7.2
Hive1.0.01.0.01.0.01.0.0
Hudi - - - -
Hue3.7.13.7.13.7.13.7.1
Iceberg - - - -
JupyterEnterpriseGateway - - - -
JupyterHub - - - -
Livy - - - -
MXNet - - - -
Mahout0.12.00.11.10.11.10.11.1
Oozie - - - -
Oozie-Sandbox4.2.04.2.04.2.04.2.0
Phoenix4.7.0 - - -
Pig0.14.00.14.00.14.00.14.0
Presto - - - -
Presto-Sandbox0.1470.1430.1430.140
Spark1.6.11.6.11.6.11.6.1
Sqoop - - - -
Sqoop-Sandbox1.4.61.4.61.4.61.4.6
TensorFlow - - - -
Tez0.8.3 - - -
Trino (PrestoSQL) - - - -
Zeppelin - - - -
Zeppelin-Sandbox0.5.60.5.60.5.60.5.6
ZooKeeper - - - -
ZooKeeper-Sandbox3.4.83.4.83.4.8 -

Release notes

Important

Amazon EMR 4.7.0 is deprecated. Use Amazon EMR 4.7.1 or later instead.

Release date: June 2, 2016

Features
  • Added Apache Phoenix 4.7.0

  • Added Apache Tez 0.8.3

  • Upgraded to HBase 1.2.1

  • Upgraded to Mahout 0.12.0

  • Upgraded to Presto 0.147

  • Upgraded the AWS SDK for Java to 1.10.75

  • The final flag was removed from the mapreduce.cluster.local.dir property in mapred-site.xml to allow users to run Pig in local mode.

  • Amazon Redshift JDBC Drivers Available on Cluster

    Amazon Redshift JDBC drivers are now included at /usr/share/aws/redshift/jdbc. /usr/share/aws/redshift/jdbc/RedshiftJDBC41.jar is the JDBC 4.1-compatible Amazon Redshift driver and /usr/share/aws/redshift/jdbc/RedshiftJDBC4.jar is the JDBC 4.0-compatible Amazon Redshift driver. For more information, see Configure a JDBC Connection in the Amazon Redshift Management Guide.

  • Java 8

    Except for Presto, OpenJDK 1.7 is the default JDK used for all applications. However, both OpenJDK 1.7 and 1.8 are installed. For information about how to set JAVA_HOME for applications, see Configuring Applications to Use Java 8.

Known issues resolved from previous releases
  • Fixed a kernel issue that significantly affected performance on Throughput Optimized HDD (st1) EBS volumes for Amazon EMR in emr-4.6.0.

  • Fixed an issue where a cluster would fail if any HDFS encryption zone were specified without choosing Hadoop as an application.

  • Changed the default HDFS write policy from RoundRobin to AvailableSpaceVolumeChoosingPolicy. Some volumes were not properly utilized with the RoundRobin configuration, which resulted in failed core nodes and an unreliable HDFS.

  • Fixed an issue with the EMRFS CLI, which would cause an exception when creating the default DynamoDB metadata table for consistent views.

  • Fixed a deadlock issue in EMRFS that potentially occurred during multipart rename and copy operations.

  • Fixed an issue with EMRFS that caused the CopyPart size default to be 5 MB. The default is now properly set at 128 MB.

  • Fixed an issue with the Zeppelin upstart configuration that potentially prevented you from stopping the service.

  • Fixed an issue with Spark and Zeppelin, which prevented you from using the s3a:// URI scheme because /usr/lib/hadoop/hadoop-aws.jar was not properly loaded in their respective classpath.

  • Backported HUE-2484.

  • Backported a commit from Hue 3.9.0 (no JIRA exists) to fix an issue with the HBase browser sample.

  • Backported HIVE-9073.

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 releases, its release version is listed as 2.2-amzn-2.

Component Version Description
emr-ddb3.1.0Amazon DynamoDB connector for Hadoop ecosystem applications.
emr-goodies2.0.0Extra convenience libraries for the Hadoop ecosystem.
emr-kinesis3.2.0Amazon Kinesis connector for Hadoop ecosystem applications.
emr-s3-dist-cp2.4.0Distributed copy application optimized for Amazon S3.
emrfs2.7.1Amazon S3 connector for Hadoop ecosystem applications.
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.7.2-amzn-2Hadoop command-line clients such as 'hdfs', 'hadoop', or 'yarn'.
hadoop-hdfs-datanode2.7.2-amzn-2HDFS node-level service for storing blocks.
hadoop-hdfs-library2.7.2-amzn-2HDFS command-line client and library
hadoop-hdfs-namenode2.7.2-amzn-2HDFS service for tracking file names and block locations.
hadoop-httpfs-server2.7.2-amzn-2HTTP endpoint for HDFS operations.
hadoop-kms-server2.7.2-amzn-2Cryptographic key management server based on Hadoop's KeyProvider API.
hadoop-mapred2.7.2-amzn-2MapReduce execution engine libraries for running a MapReduce application.
hadoop-yarn-nodemanager2.7.2-amzn-2YARN service for managing containers on an individual node.
hadoop-yarn-resourcemanager2.7.2-amzn-2YARN service for allocating and managing cluster resources and distributed applications.
hadoop-yarn-timeline-server2.7.2-amzn-2Service for retrieving current and historical information for YARN applications.
hbase-hmaster1.2.1Service for an HBase cluster responsible for coordination of Regions and execution of administrative commands.
hbase-region-server1.2.1Service for serving one or more HBase regions.
hbase-client1.2.1HBase command-line client.
hbase-rest-server1.2.1Service providing a RESTful HTTP endpoint for HBase.
hbase-thrift-server1.2.1Service providing a Thrift endpoint to HBase.
hcatalog-client1.0.0-amzn-5The 'hcat' command line client for manipulating hcatalog-server.
hcatalog-server1.0.0-amzn-5Service providing HCatalog, a table and storage management layer for distributed applications.
hcatalog-webhcat-server1.0.0-amzn-5HTTP endpoint providing a REST interface to HCatalog.
hive-client1.0.0-amzn-5Hive command line client.
hive-metastore-server1.0.0-amzn-5Service for accessing the Hive metastore, a semantic repository storing metadata for SQL on Hadoop operations.
hive-server1.0.0-amzn-5Service for accepting Hive queries as web requests.
hue-server3.7.1-amzn-7Web application for analyzing data using Hadoop ecosystem applications
mahout-client0.12.0Library for machine learning.
mysql-server5.5.46MySQL database server.
oozie-client4.2.0Oozie command-line client.
oozie-server4.2.0Service for accepting Oozie workflow requests.
phoenix-library4.7.0-HBase-1.2The phoenix libraries for server and client
phoenix-query-server4.7.0-HBase-1.2A light weight server providing JDBC access as well as Protocol Buffers and JSON format access to the Avatica API
presto-coordinator0.147Service for accepting queries and managing query execution among presto-workers.
presto-worker0.147Service for executing pieces of a query.
pig-client0.14.0-amzn-0Pig command-line client.
spark-client1.6.1Spark command-line clients.
spark-history-server1.6.1Web UI for viewing logged events for the lifetime of a completed Spark application.
spark-on-yarn1.6.1In-memory execution engine for YARN.
spark-yarn-slave1.6.1Apache Spark libraries needed by YARN slaves.
sqoop-client1.4.6Apache Sqoop command-line client.
tez-on-yarn0.8.3The tez YARN application and libraries.
webserver2.4.18Apache HTTP server.
zeppelin-server0.5.6-incubatingWeb-based notebook that enables interactive data analytics.
zookeeper-server3.4.8Centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services.
zookeeper-client3.4.8ZooKeeper 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.

emr-4.7.0 classifications
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.

hadoop-env

Change values in the Hadoop environment for all Hadoop components.

hadoop-log4j

Change values in Hadoop's log4j.properties file.

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-hbaase.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-log4j

Change values in HCatalog WebHCat's log4j.properties.

hcatalog-webhcat-site

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

hive-env

Change values in the Hive environment.

hive-exec-log4j

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

hive-log4j

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

hive-site

Change values in Hive's hive-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.

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-connector-hive

Change values in Presto's hive.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-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.