Amazon EMR 发行版 4.3.0 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

Amazon EMR 发行版 4.3.0

应用程序版本

此版本支持以下应用程序:GangliaHadoopHiveHueMahoutOozie-SandboxPigPresto-SandboxSparkZeppelin-Sandbox

下表列出了此版本的 Amazon EMR 中提供的应用程序版本以及前三个 Amazon EMR 发行版中的应用程序版本(若适用)。

有关每个发行版的 Amazon EMR 的应用程序版本的全面历史记录,请参见以下主题:

应用程序版本信息
emr-4.3.0 emr-4.2.0 emr-4.1.0 emr-4.0.0
Amazon SDK for Java 1.10.271.10.27不可用不可用
Flink - - - -
Ganglia3.7.23.6.0 - -
HBase - - - -
HCatalog - - - -
Hadoop2.7.12.6.02.6.02.6.0
Hive1.0.01.0.01.0.01.0.0
Hudi - - - -
Hue3.7.13.7.13.7.1 -
JupyterEnterpriseGateway - - - -
JupyterHub - - - -
Livy - - - -
MXNet - - - -
Mahout0.11.00.11.00.11.00.10.0
Oozie - - - -
Oozie-Sandbox4.2.04.2.04.0.1 -
Phoenix - - - -
Pig0.14.00.14.00.14.00.14.0
Presto - - - -
Presto-Sandbox0.1300.1250.119 -
Spark1.6.01.5.21.5.01.4.1
Sqoop - - - -
Sqoop-Sandbox - - - -
TensorFlow - - - -
Tez - - - -
Trino (PrestoSQL) - - - -
Zeppelin - - - -
Zeppelin-Sandbox0.5.50.5.50.6.0-SNAPSHOT -
ZooKeeper - - - -
ZooKeeper-Sandbox - - - -

发布说明

以下发布说明包括有关 Amazon EMR 发行版 4.3.0 的信息。

发布日期:2016 年 1 月 19 日

Features

  • 已升级到 Hadoop 2.7.1

  • 已升级到 Spark 1.6.0

  • 已将 Ganglia 升级到 3.7.2

  • 已将 Presto 升级到 0.130

  • spark.dynamicAllocation.enabled 设置为 true 时,Amazon EMR 已对其做出一些更改;默认情况下,此项为 false。如果设置为 true,则会影响由 maximizeResourceAllocation 设置设定的默认值:

    • spark.dynamicAllocation.enabled设为 true,则 spark.executor.instances 将不被 maximizeResourceAllocation 设置。

    • 目前,spark.driver.memory 设置根据集群中的实例类型进行配置,与 spark.executors.memory 设置的方式类似。但是,由于 Spark 驱动应用程序可在主实例或核心实例之一上运行 (例如在 YARN 客户端和集群模式下分别进行),spark.driver.memory 设置根据更小实例类型的实例类型,在两个实例组之间进行。

    • 目前,spark.default.parallelism 设置为 YARN 容器可用的 CPU 内核数的两倍。在上一版本中,这是该值的一半。

    • 为 Spark YARN 过程预留的内存开销计算精确性经过优化,从而使得 Spark 可用内存总量略有增加(即 spark.executor.memory)。

早期版本中已解决的已知问题

  • 默认情况下,现已启用 YARN 日志聚合。

  • 修复了在启用 YARN 日志聚合后日志未推送至集群的 Amazon S3 日志存储桶的问题。

  • YARN 容器大小现跨所有节点类型具有新的最小值 32。

  • 修复了与 Ganglia 有关的问题,此问题已导致大型集群中主节点上的磁盘 I/O 过多。

  • 修复了在关闭集群时阻止应用程序日志推送至 Amazon S3 的问题。

  • 修复了 EMRFS CLI 中导致某些命令失败的问题。

  • 修复了与 Zeppelin 有关的问题,此问题已阻止依赖项在基础 SparkContext 中加载。

  • 修复了因发出尝试添加实例的调整大小命令导致的问题。

  • 修复了 Hive 中的问题,此问题导致 CREATE TABLE AS SELECT 对 Amazon S3 进行过多的列表调用。

  • 修复了在安装 Hue、Oozie 和 Ganglia 时无法正常预置大型集群的问题。

  • 修复了 s3-dist-cp 中的问题,此问题导致即使在失败并出现错误的情况下仍将返回零退出代码。

组件版本

下面列出了 Amazon EMR 随此发行版一起安装的组件。一些组件作为大数据应用程序包的一部分安装。其它组件是 Amazon EMR 独有的,并且已为系统流程和功能安装这些组件。它们通常以 emraws 开头。最新的 Amazon EMR 发行版中的大数据应用程序包通常是在社区中找到的最新版本。我们会尽快在 Amazon EMR 中提供社区发行版。

Amazon EMR 中的某些组件与社区版本不同。这些组件具有以下形式的 CommunityVersion-amzn-EmrVersion 的发行版标注。EmrVersion 从 0 开始。例如,如果已对名为 myapp-component 的版本 2.2 的开源社区组件进行三次修改以包含在不同的 Amazon EMR 发行版中,则其发行版将列出为 2.2-amzn-2

组件 版本 描述
emr-ddb3.0.0适用于 Hadoop 生态系统应用程序的 Amazon DynamoDB 连接器。
emr-goodies2.0.0适用于 Hadoop 生态系统的方便易用的库。
emr-kinesis3.1.0适用于 Hadoop 生态系统应用程序的 Amazon Kinesis 连接器。
emr-s3-dist-cp2.1.0针对 Amazon S3 优化的分布式复制应用程序。
emrfs2.3.0适用于 Hadoop 生态系统应用程序的 Amazon S3 连接器。
ganglia-monitor3.7.2适用于 Hadoop 生态系统应用程序的嵌入式 Ganglia 代理以及 Ganglia 监控代理。
ganglia-metadata-collector3.7.2用于从 Ganglia 监控代理中聚合指标的 Ganglia 元数据收集器。
ganglia-web3.7.1用于查看由 Ganglia 元数据收集器收集的指标的 Web 应用程序。
hadoop-client2.7.1-amzn-0Hadoop 命令行客户端,如“hdfs”、“hadoop”或“yarn”。
hadoop-hdfs-datanode2.7.1-amzn-0用于存储数据块的 HDFS 节点级服务。
hadoop-hdfs-library2.7.1-amzn-0HDFS 命令行客户端和库
hadoop-hdfs-namenode2.7.1-amzn-0用于跟踪文件名和数据块位置的 HDFS 服务。
hadoop-httpfs-server2.7.1-amzn-0用于 HDFS 操作的 HTTP 终端节点。
hadoop-kms-server2.7.1-amzn-0基于 Hadoop 的 KeyProvider API 的加密密钥管理服务器。
hadoop-mapred2.7.1-amzn-0用于运行 MapReduce 应用程序的 MapReduce 执行引擎库。
hadoop-yarn-nodemanager2.7.1-amzn-0用于管理单个节点上的容器的 YARN 服务。
hadoop-yarn-resourcemanager2.7.1-amzn-0用于分配和管理集群资源与分布式应用程序的 YARN 服务。
hive-client1.0.0-amzn-2Hive 命令行客户端。
hive-metastore-server1.0.0-amzn-2用于访问 Hive 元存储 (一个用于存储 Hadoop 操作中的 SQL 的元数据的语义存储库) 的服务。
hive-server1.0.0-amzn-2用于将 Hive 查询作为 Web 请求接受的服务。
hue-server3.7.1-amzn-5用于使用 Hadoop 生态系统应用程序分析数据的 Web 应用程序
mahout-client0.11.0用于机器学习的库。
mysql-server5.5MySQL 数据库服务器。
oozie-client4.2.0Oozie 命令行客户端。
oozie-server4.2.0用于接受 Oozie 工作流请求的服务。
presto-coordinator0.130用于在 presto-worker 之中接受查询并管理查询的服务。
presto-worker0.130用于执行查询的各个部分的服务。
pig-client0.14.0-amzn-0Pig 命令行客户端。
spark-client1.6.0Spark 命令行客户端。
spark-history-server1.6.0用于查看完整的 Spark 应用程序的生命周期的已记录事件的 Web UI。
spark-on-yarn1.6.0适用于 YARN 的内存中执行引擎。
spark-yarn-slave1.6.0YARN 从属项所需的 Apache Spark 库。
webserver2.4Apache HTTP 服务器。
zeppelin-server0.5.5-incubating-amzn-1支持交互式数据分析的基于 Web 的笔记本电脑。

配置分类

配置分类允许您自定义应用程序。这些通常与应用程序的配置 XML 文件(例如 hive-site.xml)相对应。有关更多信息,请参阅配置应用程序

emr-4.3.0 分类
分类 描述

capacity-scheduler

更改 Hadoop 的 capacity-scheduler.xml 文件中的值。

core-site

更改 Hadoop 的 core-site.xml 文件中的值。

emrfs-site

更改 EMRFS 设置。

hadoop-env

更改适用于所有 Hadoop 组件的 Hadoop 环境中的值。

hadoop-log4j

更改 Hadoop 的 log4j.properties 文件中的值。

hdfs-encryption-zones

配置 HDFS 加密区域。

hdfs-site

更改 HDFS 的 hdfs-site.xml 中的值。

hive-env

更改 Hive 环境中的值。

hive-exec-log4j

更改 Hive 的 hive-exec-log4j.properties 文件中的值。

hive-log4j

更改 Hive 的 hive-log4j.properties 文件中的值。

hive-site

更改 Hive 的 hive-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 文件中的值。

mapred-env

更改 MapReduce 应用程序的环境中的值。

mapred-site

更改 MapReduce 应用程序的 mapred-site.xml 文件中的值。

oozie-env

更改 Oozie 的环境中的值。

oozie-log4j

更改 Oozie 的 oozie-log4j.properties 文件中的值。

oozie-site

更改 Oozie 的 oozie-site.xml 文件中的值。

pig-properties

更改 Pig 的 pig.properties 文件中的值。

pig-log4j

更改 Pig 的 log4j.properties 文件中的值。

presto-log

更改 Presto 的 log.properties 文件中的值。

presto-config

更改 Presto 的 config.properties 文件中的值。

presto-connector-hive

更改 Presto 的 hive.properties 文件中的值。

spark

适用于 Apache Spark 的 Amazon EMR 辅助设置。

spark-defaults

更改 Spark 的 spark-defaults.conf 文件中的值。

spark-env

更改 Spark 环境中的值。

spark-log4j

更改 Spark 的 log4j.properties 文件中的值。

spark-metrics

更改 Spark 的 metrics.properties 文件中的值。

yarn-env

更改 YARN 环境中的值。

yarn-site

更改 YARN 的 yarn-site.xml 文件中的值。

zeppelin-env

更改 Zeppelin 环境中的值。