亚马逊 EMR 5.x 版本 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

亚马逊 EMR 5.x 版本

下方的每个选项卡列出了每个 Amazon EMR 5.x 发行版中可用的应用程序版本、发布说明、组件版本和配置分类。

有关每个版本中的应用程序版本的综合图,请参阅Amazon EMR 5.x 版本中的应用程序版本 (PNG)

当您启动集群时,有多个 Amazon EMR 发布版可供选择。这允许您测试和使用满足您的兼容性需求的应用程序版本。可使用发布标签。版本标签的格式是 emr-x.x.x. For example, emr-5.33.0.

从初始发布日期的第一个区域开始,新的 Amazon EMR 发行版本将在几天内在不同区域提供。在此期间,您所在地区可能无法提供最新版本。

5.33.0

5.33.0 版应用程序版本

此版本支持以下应用程序:JupyterEnterpriseGatewayFlinkGangliaHadoopHBaseHCatalogHiveHueJupyterHubLivyMahoutMXNetOoziePhoenixPigPrestoSparkSqoopTensorFlowTezZeppelin, 和ZooKeeper

下图描述了此版本的中提供的应用程序版本以及前四个 Amazon EMR 发布版本中的应用程序版本。

有关每个 Amazon EMR 版本的的全面历史记录,请参见下面的示意图:

5.33.0 版本发行说明

以下发布说明包括有关 Amazon EMR 发布版本 5.33.0 的信息。更改是相对于 5.32.0 而言。

首次发布日期:2021 年 4 月 19 日

Upgrades

  • 已升 Glue 到版本 1.15.0

  • 已将升级到版本 1.11.970

  • 已将 EMRFS 升级到版本 2.46.0

  • 已将 EMR 好吃的东西升级到版本 2.14.0

  • 已将 EMR 记录服务器升级到版本 1.9.0

  • 已将 EMR S3 分区 CP 升级到版本 2.18.0

  • 已将 EMR 秘密代理升级到版本 1.8.0

  • 已将 Flink 升级到版本 1.12.1

  • 已将 Hadoop 升级到版本 2.10.1-amzn-1

  • 已将 Hive 升级到版本 2.3.7-amzn-4

  • 已将 Hudi 升级到 0.7.0

  • 已将 Hue 升级到版本 4.9.0

  • 已将 OpenCV 升级到版本 4.5.0

  • Presto-0.245.1-amzn-0

  • 已将 R 升级到 4.0.2

  • 已将 Spark 升级到版本 2.4.7-amzn-1

  • 将张力流升级为版本 2.4.1

  • 已将 Zeppelin 升级到版本 0.9.0

更改、增强和已解决的问题

新功能

  • 亚马逊 EMR-5.33 支持新的 Amazon EC2 实例类型:c5a、c5ad、c6gd、m6gd、d3、m5zn、r5b、r6gd。请参阅支持的实例类型

已知问题

  • 较早的 AL2 上的 “最大打开文件” 限制较低。 亚马逊 EMR 版本:EMR 5.30.x、EMR-5.31.0、EMR-5.32.0、EMR-6.0.0、EMR-6.1.0 和 EMR-6.2.0 基于旧版本的 OFAMZON Linux 2 (AL2),当使用默认 AMI 创建 EMR 集群时,这些版本的下限设置为 “最大打开文件”。提交 Spark 作业时,打开的文件下限会导致 “打开的文件过多” 错误。在受影响的 EMR 版本中,亚马逊 EMR 默认 AMI 对于 “最大打开文件” 的默认限制设置为 4096,低于最新亚马逊 Linux 2 AMI 中的 65536 文件限制。当 Spark 驱动程序和执行程序尝试打开超过 4096 个文件时,“最大打开文件” 的下限设置会导致 Spark 作业失败。要修复此问题,Amazon EMR 有一个引导操作 (BA) 脚本,用于在创建集群时调整 ulimit 设置。亚马逊 EMR 6.3.0 和 5.33.0 版将包括一个具有更高 “最大打开文件” 设置的永久修复程序。

    此问题的以下解决方法允许您显式将实例控制器 ulimit 设置为最多 65536 文件。

    从命令行显式设置 ulimit

    1. 编辑/etc/systemd/system/instance-controller.service将以下参数添加到服务部分。

      LimitNOFILE=65536

      LimitNPROC=65536

    2. 重启实例 Controller

      $ sudo systemctl daemon-reload

      $ sudo systemctl restart instance-controller

    使用引导操作设置 u限制 (BA)

    您还可以使用引导操作 (BA) 脚本在群集创建时将实例控制器 ulimit 配置为 65536 个文件。

    #!/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
  • 重要

    运行亚马逊 Linux 或 Amazon Linux 2 AMI(亚马逊 Linux 计算机映像)的 Amazon EMR 集群使用默认的 Amazon Linux 行为,并且不会自动下载和安装需要重新启动的重要和关键的内核更新。这与运行默认 Amazon Linux AMI 的其他 Amazon EC2 实例的行为相同。如果在 Amazon EMR 版本发布后需要重新启动的新 Amazon Linux 软件更新(如内核、NVIDIA 和 CUDA 更新)变为可用,则运行默认 AMI 的 Amazon EMR 集群实例不会自动下载和安装这些更新。要获取内核更新,您可以自定义您的亚马逊 EMR AMI使用最新的 Amazon Linux AMI

  • 控制台支持创建安全配置来指定Amazon“GovCloud” 地区目前不支持游侠集成选项。安全配置可以使用 CLI 完成。请参阅创建 EMR 安全配置中的Amazon EMR 管理指南

  • 适用于的托管策略:对齐Amazon最佳实践中,Amazon EMR 引入了 v2 EMR 范围的默认托管策略,作为将弃用的策略的替代品。请参阅Amazon EMR 管理策略

发布 5.33.0 组件版本

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

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

组件 Version 说明
aws-sagemaker-spark-sdk 1.4.1 Amazon SageMaker Spark 开发工具包
emr-ddb 4.16.0 适用于 Hadoop 生态系统应用程序的 Amazon DynamoDB 连接器。
emr-goodies emrfs 适用于 Hadoop 生态系统的方便易用的库。
emr-kinesis 3.5.0 适用于 Hadoop 生态系统应用程序的 Amazon Kinesis 连接器。
emr-notebook-env 1.2.0 适用于 emr 笔记本的 Conda env
emr-s3-dist-cp 2.18.0 针对 Amazon S3 优化的分布式复制应用程序。
emr-s3-select 1.6.0 EMR S3 Select 连接器
emrfs 2.46.0 适用于 Hadoop 生态系统应用程序的 Amazon S3 连接器。
flink-client 1.12.1 Apache Flink 命令行客户端脚本和应用程序。
弗林克-作业管理器配置 1.12.1 管理资源在 EMR 节点上的 Apache 弗林克 JobManager.
ganglia-monitor 3.7.2 适用于 Hadoop 生态系统应用程序的嵌入式 Ganglia 代理以及 Ganglia 监控代理。
ganglia-metadata-collector 3.7.2 用于从 Ganglia 监控代理中聚合指标的 Ganglia 元数据收集器。
ganglia-web 3.7.1 用于查看由 Ganglia 元数据收集器收集的指标的 Web 应用程序。
hadoop-client 2.10.1-amzn-1 Hadoop 命令行客户端,如“hdfs”、“hadoop”或“yarn”。
hadoop-hdfs-datanode 2.10.1-amzn-1 用于存储数据块的 HDFS 节点级服务。
hadoop-hdfs-library 2.10.1-amzn-1 HDFS 命令行客户端和库
hadoop-hdfs-namenode 2.10.1-amzn-1 用于跟踪文件名和数据块位置的 HDFS 服务。
hadoop-hdfs-journalnode 2.10.1-amzn-1 用于管理 HA 集群上的 Hadoop 文件系统日志的 HDFS 服务。
hadoop-httpfs-server 2.10.1-amzn-1 用于 HDFS 操作的 HTTP 终端节点。
hadoop-kms-server 2.10.1-amzn-1 基于 Hadoop 的 KeyProvider API 的加密密钥管理服务器。
hadoop-mapred 2.10.1-amzn-1 用于运行 MapReduce 应用程序的 MapReduce 执行引擎库。
hadoop-yarn-nodemanager 2.10.1-amzn-1 用于管理单个节点上的容器的 YARN 服务。
hadoop-yarn-resourcemanager 2.10.1-amzn-1 用于分配和管理群集资源与分布式应用程序的 YARN 服务。
hadoop-yarn-timeline-server 2.10.1-amzn-1 用于检索 YARN 应用程序的当前信息和历史信息的服务。
hbase-hmaster 1.4.13 适用于负责协调区域和执行管理命令的 HBase 集群的服务。
hbase-region-server 1.4.13 用于服务于一个或多个 HBase 区域的服务。
hbase-client 1.4.13 HBase 命令行客户端。
hbase-rest-server 1.4.13 用于向 HBase 提供 RESTful HTTP 终端节点的服务。
hbase-thrift-server 1.4.13 用于向 HBase 提供 Thrift 终端节点的服务。
hcatalog-client 2.3.7-amzn-4 用于操作 hcatalog-server 的“hcat”命令行客户端。
hcatalog-server 2.3.7-amzn-4 用于为分布式应用程序提供 HCatalog、表和存储管理层的服务。
hcatalog-webhcat-server 2.3.7-amzn-4 用于向 HCatalog 提供 REST 接口的 HTTP 终端节点。
hive-client 2.3.7-amzn-4 Hive 命令行客户端。
hive-hbase 2.3.7-amzn-4 Hive-hbase 客户端。
hive-metastore-server 2.3.7-amzn-4 用于访问 Hive 元存储 (一个用于存储 Hadoop 操作中的 SQL 的元数据的语义存储库) 的服务。
hive-server2 2.3.7-amzn-4 用于将 Hive 查询作为 Web 请求接受的服务。
hudi 0.7.0-amzn-1 增量处理框架,以支持低延迟和高效率的数据管道。
hudi-sparf 0.7.0-amzn-1 用于运行 Spark 以及 Hudi 的捆绑库。
hudi-presto 0.7.0-amzn-1 用于运行 Presto 以及 Hudl 的捆绑库。
hue-server 4.9.0 用于使用 Hadoop 生态系统应用程序分析数据的 Web 应用程序
jupyterhub 1.2.0 Jupyter 笔记本的多用户服务器
livy-server 0.7.0-incubating 用于与 Apache Spark 交互的 REST 接口
nginx 1.12.1 nginx [引擎 x] 是 HTTP 和反向代理服务器
mahout-client 0.13.0 用于机器学习的库。
mxnet 1.7.0 用于深度学习的灵活的、可扩展且高效的库。
mariadb-server 5.5.68 MySQL 数据库服务器。
nvidia-cuda 10.1.243 Nvidia 驱动程序和 Cuda 工具包
oozie-client 5.2.0 Oozie 命令行客户端。
oozie-server 5.2.0 用于接受 Oozie 工作流请求的服务。
opencv 4.5.0 开源计算机视觉库。
phoenix-library 4.14.3-HBase-1.4 服务器和客户端的 phoenix 库
phoenix-query-server 4.14.3-HBase-1.4 向 Avatica API 提供 JDBC 访问权限以及协议缓冲区和 JSON 格式访问权限的轻量级服务器
presto-coordinator 0.245.1-amzn-0 用于在 presto-worker 之中接受查询并管理查询的服务。
presto-worker 0.245.1-amzn-0 用于执行查询的各个部分的服务。
presto-client 0.245.1-amzn-0 Presto 命令行客户端,安装在 HA 集群的备用主服务器(未启动 Presto 服务器)上。
pig-client 0.17.0 Pig 命令行客户端。
r 4.0.2 用于统计计算的 R 项目
ranger-kms-server 1.2.0 Apache Ranger 密钥管理系统
spark-client 2.4.7-amzn-1 Spark 命令行客户端。
spark-history-server 2.4.7-amzn-1 用于查看完整的 Spark 应用程序的生命周期的已记录事件的 Web UI。
spark-on-yarn 2.4.7-amzn-1 适用于 YARN 的内存中执行引擎。
spark-yarn-slave 2.4.7-amzn-1 YARN 从属项所需的 Apache Spark 库。
sqoop-client 1.4.7 Apache Sqoop 命令行客户端。
tensorflow 2.4.1 适用于高性能数值计算的 TensorFlow 开源软件库。
tez-on-yarn 0.9.2 tez YARN 应用程序和库。
webserver 2.4.25+ Apache HTTP 服务器。
zeppelin-server 0.9.0 支持交互式数据分析的基于 Web 的笔记本电脑。
zookeeper-server 3.4.14 用于维护配置信息、命名、提供分布式同步以及提供组服务的集中式服务。
zookeeper-client 3.4.14 ZooKeeper 命令行客户端。

5.33.0 版配置分类

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

在您为运行的集群中的实例组指定配置时,将发生重新配置操作。EMR 仅为您修改的分类启动重新配置操作。有关更多信息,请参阅 在正在运行的集群中重新配置实例组

emr-5.33.0 分类
分类 说明 RECONDEGREE

capacity-scheduler

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

重新启动 ResourceManager 服务。

container-executor

更改 Hadoop YARN 的 container-executor.cfg 文件中的值。

不适用

container-log4j

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

不适用

core-site

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

重新启动 Hadoop HDFS 服务 Namenode、辅助编码、数据编码、ZKFC 和日记节点。重新启动 Hadoop YARN 服务 ResourceManager、NodeManager、ProxyServer 和时间服务器。此外,重新启动 Hadoop KMS、游侠 KMS、Hiveser2、蜂巢 MetaStore、Hadoop Httpfs 和映射历史记录服务器。

码头-conf

更改码头相关设置。

不适用

emrfs-site

更改 EMRFS 设置。

重新启动 Hadoop HDFS 服务 Namenode、辅助编码、数据编码、ZKFC 和日记节点。重新启动 Hadoop YARN 服务 ResourceManager、NodeManager、ProxyServer 和时间服务器。此外,重新启动 HBASE 区域服务器、HBASEmaster、HBASEFT、HBASE 休息服务器 2、配置单 MetaStore、Hadoop Httpfs 和映射历史记录服务器。

flink-conf

更改 flink-conf.yaml 设置。

重新启动 Fink 历史记录服务器。

flink-log4j

更改 Flink log4j.properties 设置。

重新启动 Fink 历史记录服务器。

flink-log4j 会话

更改 Flink log4j-session.properties 设置为 Kubernetesion.properties。

不适用

flink-log4j-cli

更改 Flink log4j-cli.properties 设置。

重新启动 Fink 历史记录服务器。

hadoop-env

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

重新启动 Hadoop HDFS 服务 Namenode、辅助编码、数据编码、ZKFC 和日记节点。重新启动 Hadoop YARN 服务 ResourceManager、NodeManager、ProxyServer 和时间服务器。此外,重新启动凤凰查询服务器、隐藏服务器 2、配置单 MetaStore 和映射历史记录服务器。

hadoop-log4j

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

重新启动 Hadoop HDFS 服务 Namenode、辅助编码、数据编码、ZKFC 和日记节点。重新启动 Hadoop YARN 服务 ResourceManager、NodeManager、ProxyServer 和时间服务器。此外,重新启动 Hadoop KMS、Hadoop Httpfs 和映射历史记录服务器。

hadoop-ssl-server

更改 hadoop ssl 服务器配置

不适用

hadoop-ssl-client

更改 hadoop ssl 客户端配置

不适用

hbase

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

自定义 EMR 特定属性。设置 EMRFS 站点和 hbase 站点配置。有关其相关重新启动的信息,请参阅这些

hbase-env

更改 HBase 环境中的值。

重新启动 HBase 服务 RegionServer,HBASE,ThriftServer,REST 服务器。

hbase-log4j

更改 HBase 的 hbase-log4j.properties 文件中的值。

重新启动 HBase 服务 RegionServer,HBASE,ThriftServer,REST 服务器。

hbase-metrics

更改 HBase 的 hadoop-metrics2-hbase.properties 文件中的值。

重新启动 HBase 服务 RegionServer,HBASE,ThriftServer,REST 服务器。

hbase-policy

更改 HBase 的 hbase-policy.xml 文件中的值。

不适用

hbase-site

更改 HBase 的 hbase-site.xml 文件中的值。

重新启动 HBase 服务 RegionServer,HBASE,ThriftServer,REST 服务器。此外,重新启动凤凰 QueryServer。

hdfs-encryption-zones

配置 HDFS 加密区域。

不应重新配置。

hdfs-site

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

重新启动 Hadoop HDFS 服务 Namenode、辅助编码、数据编码、ZKFC 和日记节点。此外,重新启动 Hadoop Httpfs。

hcatalog-env

更改 HCatalog 的环境中的值。

重新启动配置单元目录服务器。

hcatalog-server-jndi

更改 HCatalog 的 jndi.properties 中的值。

重新启动配置单元目录服务器。

hcatalog-server-proto-hive-site

更改 HCatalog 的 proto-hive-site.xml 中的值。

重新启动配置单元目录服务器。

hcatalog-webhcat-env

更改 HCatalog WebHCat 的环境中的值。

重新启动配置单元 WebHCat 服务器。

hcatalog-webhcat-log4j2

更改 HCatalog WebHCat 的 log4j2.properties 中的值。

重新启动配置单元 WebHCat 服务器。

hcatalog-webhcat-site

更改 HCatalog WebHCat 的 webhcat-site.xml 文件中的值。

重新启动配置单元 WebHCat 服务器。

hive-beeline-log4j2

更改 Hive 的 beeline-log4j2.properties 文件中的值。

不适用

hive-parquet-logging

更改 Hive parquet-logging.properties 文件中的值。

不适用

hive-env

更改 Hive 环境中的值。

重新启动隐藏服务器 2 和集成元数据存储。运行配置单元架构 CLI 命令来验证配置单元数据仓。

hive-exec-log4j2

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

重新启动隐藏服务器 2 和集成元数据存储。

hive-llap-daemon-log4j2

更改 Hive 的 llap-daemon-log4j2.properties 文件中的值。

不适用

hive-log4j2

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

不适用

hive-site

更改 Hive 的 hive-site.xml 文件中的值

重新启动隐藏服务器 2 和集成元数据存储。运行配置单元架构 CLI 命令来验证配置单元数据仓。同时重新启动 Oozie 和齐柏林。

hiveserver2-site

更改 Hive Server2 的 hiveserver2-site.xml 文件中的值

不适用

hue-ini

更改 Hue 的 ini 文件中的值

重新启动 Hue。同时激活 Hue 配置覆盖 CLI 命令以获取新配置。

httpfs-env

更改 HTTPFS 环境中的值。

重新启动 Hadoop Httpfs 服务。

httpfs-site

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

重新启动 Hadoop Httpfs 服务。

hadoop-kms-acls

更改 Hadoop 的 kms-acls.xml 文件中的值。

不适用

hadoop-kms-env

更改 Hadoop KMS 环境中的值。

重新启动 Hadoop-KMS 服务。

hadoop-kms-log4j

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

不适用

hadoop-kms-site

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

重新启动 Hadoop 公里和范围公里服务。

hudi-env

更改 HDFS 环境中的值。

不适用

jupyter-notebook-conf

更改 Jupyter Notebook 的 jupyter_notebook_config.py 文件中的值。

不适用

jupyter-hub-conf

更改 JupyterHubs 的 jupyterhub_config.py 文件中的值。

不适用

jupyter-s3-conf

配置 Jupyter Notebook S3 持久性。

不适用

jupyter-sparkmagic-conf

更改 Sparkmagic 的 config.json 文件中的值。

不适用

livy-conf

更改 Livy 的 livy.conf 文件中的值。

重新启动 Livy 服务器。

livy-env

更改 Livy 环境中的值。

重新启动 Livy 服务器。

livy-log4j

更改 Livy log4j.properties 设置。

重新启动 Livy 服务器。

mapred-env

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

重新启动 Hadoop 映射-历史记录服务器。

mapred-site

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

重新启动 Hadoop 映射-历史记录服务器。

oozie-env

更改 Oozie 的环境中的值。

重新启动 Oozie。

oozie-log4j

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

重新启动 Oozie。

oozie-site

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

重新启动 Oozie。

phoenix-hbase-metrics

更改 Phoenix 的 hadoop-metrics2-hbase.properties 文件中的值。

不适用

phoenix-hbase-site

更改 Phoenix 的 hbase-site.xml 文件中的值。

不适用

phoenix-log4j

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

重新启动凤凰查询服务器。

phoenix-metrics

更改 Phoenix 的 hadoop-metrics2-phoenix.properties 文件中的值。

不适用

pig-env

更改 Pig 环境中的值。

不适用

pig-properties

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

重新启动 Oozie。

pig-log4j

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

不适用

presto-log

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

重新启动预存储服务器。

presto-config

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

重新启动预存储服务器。

presto-password-authenticator

更改 Presto 的 password-authenticator.properties 文件中的值。

不适用

presto-env

更改 Presto 的 presto-env.sh 文件中的值。

重新启动预存储服务器。

presto-node

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

不适用

presto-connector-blackhole

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

不适用

presto-connector-cassandra

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

不适用

presto-connector-hive

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

重新启动预存储服务器。

presto-connector-jmx

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

不适用

presto-connector-kafka

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

不适用

presto-connector-localfile

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

不适用

presto-connector-memory

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

不适用

presto-connector-mongodb

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

不适用

presto-connector-mysql

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

不适用

presto-connector-postgresql

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

不适用

presto-connector-raptor

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

不适用

presto-connector-redis

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

不适用

presto-connector-redshift

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

不适用

presto-connector-tpch

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

不适用

presto-connector-tpcds

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

不适用

ranger-kms-dbks-site

更改 Ranger KMS 的 dbks-site.xml 文件中的值。

重新启动游侠 KMS 服务器。

ranger-kms-site

更改 Ranger KMS 的 ranger-kms-site.xml 文件中的值。

重新启动游侠 KMS 服务器。

ranger-kms-env

更改 Ranger KMS 环境中的值。

重新启动游侠 KMS 服务器。

ranger-kms-log4j

更改 Ranger KMS 的 kms-log4j.properties 文件中的值。

不适用

ranger-kms-db-ca

更改 S3 上用于与 Ranger KMS 进行 MySQL SSL 连接的 CA 文件的值。

不适用

recordserver-env

更改 EMR RecordServer 环境中的值。

重新启动 EMR 记录服务器。

recordserver-conf

更改 EMR RecordServer erver.properties 文件中的值。

重新启动 EMR 记录服务器。

recordserver-log4j

更改 EMR RecordServer log4j.properties 文件中的值。

重新启动 EMR 记录服务器。

spark

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

此属性修改火花默认值。请参阅此处的操作。

spark-defaults

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

重新启动 Spark 历史服务器和 Spark 节俭服务器。

spark-env

更改 Spark 环境中的值。

重新启动 Spark 历史服务器和 Spark 节俭服务器。

spark-hive-site

更改 Spark 的 hive-site.xml 文件中的值

不适用

spark-log4j

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

重新启动 Spark 历史服务器和 Spark 节俭服务器。

spark-metrics

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

重新启动 Spark 历史服务器和 Spark 节俭服务器。

sqoop-env

更改 Sqoop 的环境中的值。

不适用

sqoop-oraoop-site

更改 Sqoop OraOop 的 oraoop-site.xml 文件中的值。

不适用

sqoop-site

更改 Sqoop 的 sqoop-site.xml 文件中的值。

不适用

tez-site

更改 Tez 的 tez-site.xml 文件中的值。

重新启动 Oozie。

yarn-env

更改 YARN 环境中的值。

重新启动 Hadoop YARN 服务 ResourceManager、NodeManager、ProxyServer 和时间服务器。此外,重新启动映射-历史记录服务器。

yarn-site

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

重新启动 Hadoop YARN 服务 ResourceManager、NodeManager、ProxyServer 和时间服务器。此外,重新启动 Livy 服务器和映射历史记录服务器。

zeppelin-env

更改 Zeppelin 环境中的值。

重新启动 Zeppelin。

zeppelin-site

更改 zeppelin-site.xml 中的配置设置。

重新启动 Zeppelin。

zookeeper-config

更改 ZooKeeper 的 zoo.cfg 文件中的值。

重新启动动动物管理员服务器。

zookeeper-log4j

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

重新启动动动物管理员服务器。

5.32.0

5.32.0 版应用程序版本

此版本支持以下应用程序:JupyterEnterpriseGatewayFlinkGangliaHadoopHBaseHCatalogHiveHueJupyterHubLivyMahoutMXNetOoziePhoenixPigPrestoSparkSqoopTensorFlowTezZeppelin, 和ZooKeeper

下图描述了此版本的中提供的应用程序版本以及前四个 Amazon EMR 发布版本中的应用程序版本。

有关每个 Amazon EMR 版本的的全面历史记录,请参见下面的示意图:

5.32.0 版本发行说明

以下发布说明包括有关 Amazon EMR 发布版本 5.32.0 的信息。更改是相对于 5.31.0 而言。

首次发布日期:2021 年 1 月 8 日

Upgrades

  • 已升 Glue 到版本 1.14.0

  • 已将 Amazon SageMaker Spark SDK 升级到版本 1.4.1

  • 已将升级到版本 1.11.890

  • 升级 EMR DynamoDB 连接器 4.16.0

  • 已将 EMRFS 升级到版本 2.45.0

  • 已将 EMR 日志分析指标升级到版本 1.18.0

  • 将 EMR 度量升级到版本 1.5.0

  • 已将 EMR 记录服务器升级到版本 1.8.0

  • 已将 EMR S3 分区 CP 升级到版本 2.17.0

  • 已将 EMR 秘密代理升级到版本 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

  • 将张力流升级为版本 2.3.1

更改、增强和已解决的问题

新功能

  • 实例元数据服务 (IMDS) V2 支持状态:亚马逊 EMR 5.23.1、5.27.1 和 5.32 或更高版本的组件对所有 IMDS 呼叫都使用 IMDSv2。对于应用程序代码中的 IMDS 调用,您可以同时使用 IMDSv1 和 IMDSv2,或者将 IMDS 配置为仅使用 IMDSv2 以提高安全性。对于其他 5.x EMR 版本,禁用 IMDSv1 会导致群集启动失败。

  • 从 Amazon EMR 5.32.0 开始,您可以启动与 Apache 游侠本地集成的集群。Apache Ranger 是一个开源框架,用于跨 Hadoop 平台启用、监控和管理全面的数据安全。有关更多信息,请参阅 。Apache Renger。通过本机集成,您可以携带自己的 Apache Ranger,在 Amazon EMR 上强制实施细粒度的数据访问控制。请参阅将亚马逊 EMR 与阿帕奇游侠集成中的Amazon EMR 版本指南

  • 亚马逊 EMR 5.32.0 版支持 EKS 上的亚马逊 EMR。有关 EKS 上 EMR 入门的详细信息,请参阅什么是 EKS 上的 Amazon EMR

  • 亚马逊 EMR 5.32.0 版支持亚马逊 EMR 工作室(预览版)。有关 EMR Studio 入门的更多详细信息,请参阅Amazon EMR Studio

  • 适用于的托管策略:对齐Amazon最佳实践中,Amazon EMR 引入了 v2 EMR 范围的默认托管策略,作为将弃用的策略的替代品。请参阅Amazon EMR 管理策略

已知问题

  • 较早的 AL2 上的 “最大打开文件” 限制较低。 亚马逊 EMR 版本:EMR 5.30.x、EMR-5.31.0、EMR-5.32.0、EMR-6.0.0、EMR-6.1.0 和 EMR-6.2.0 基于旧版本的 OFAMZON Linux 2 (AL2),当使用默认 AMI 创建 EMR 集群时,这些版本的下限设置为 “最大打开文件”。提交 Spark 作业时,打开的文件下限会导致 “打开的文件过多” 错误。在受影响的 EMR 版本中,亚马逊 EMR 默认 AMI 对于 “最大打开文件” 的默认限制设置为 4096,低于最新亚马逊 Linux 2 AMI 中的 65536 文件限制。当 Spark 驱动程序和执行程序尝试打开超过 4096 个文件时,“最大打开文件” 的下限设置会导致 Spark 作业失败。要修复此问题,Amazon EMR 有一个引导操作 (BA) 脚本,用于在创建集群时调整 ulimit 设置。亚马逊 EMR 6.3.0 和 5.33.0 版将包括一个具有更高 “最大打开文件” 设置的永久修复程序。

    此问题的以下解决方法允许您显式将实例控制器 ulimit 设置为最多 65536 文件。

    从命令行显式设置 ulimit

    1. 编辑/etc/systemd/system/instance-controller.service将以下参数添加到服务部分。

      LimitNOFILE=65536

      LimitNPROC=65536

    2. 重启实例 Controller

      $ sudo systemctl daemon-reload

      $ sudo systemctl restart instance-controller

    使用引导操作设置 u限制 (BA)

    您还可以使用引导操作 (BA) 脚本在群集创建时将实例控制器 ulimit 配置为 65536 个文件。

    #!/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
  • 重要

    运行亚马逊 Linux 或 Amazon Linux 2 AMI(亚马逊 Linux 计算机映像)的 Amazon EMR 集群使用默认的 Amazon Linux 行为,并且不会自动下载和安装需要重新启动的重要和关键的内核更新。这与运行默认 Amazon Linux AMI 的其他 Amazon EC2 实例的行为相同。如果在 Amazon EMR 版本发布后需要重新启动的新 Amazon Linux 软件更新(如内核、NVIDIA 和 CUDA 更新)变为可用,则运行默认 AMI 的 Amazon EMR 集群实例不会自动下载和安装这些更新。要获取内核更新,您可以自定义您的亚马逊 EMR AMI使用最新的 Amazon Linux AMI

  • 控制台支持创建安全配置来指定Amazon“GovCloud” 地区目前不支持游侠集成选项。安全配置可以使用 CLI 完成。请参阅创建 EMR 安全配置中的Amazon EMR 管理指南

  • 在使用 EMR 5.31.0 或 5.32.0 的群集上启用了 ATEN 加密或 HDFS 加密时,Hive 查询会导致以下运行时异常。

    TaskAttempt 3 failed, info=[Error: Error while running task ( failure ) : attempt_1604112648850_0001_1_01_000000_3:java.lang.RuntimeException: java.lang.RuntimeException: Hive Runtime Error while closing operators: java.io.IOException: java.util.ServiceConfigurationError: org.apache.hadoop.security.token.TokenIdentifier: Provider org.apache.hadoop.hbase.security.token.AuthenticationTokenIdentifier not found

发布 5.32.0 组件版本

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

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

组件 Version 说明
aws-sagemaker-spark-sdk 1.4.1 Amazon SageMaker Spark 开发工具包
emr-ddb 4.16.0 适用于 Hadoop 生态系统应用程序的 Amazon DynamoDB 连接器。
emr-goodies 2.13.0 适用于 Hadoop 生态系统的方便易用的库。
emr-kinesis 3.5.0 适用于 Hadoop 生态系统应用程序的 Amazon Kinesis 连接器。
emr-notebook-env 1.1.0 适用于 emr 笔记本的 Conda env
emr-s3-dist-cp 2.17.0 针对 Amazon S3 优化的分布式复制应用程序。
emr-s3-select 1.6.0 EMR S3 Select 连接器
emrfs 2.45.0 适用于 Hadoop 生态系统应用程序的 Amazon S3 连接器。
flink-client 1.11.2 Apache Flink 命令行客户端脚本和应用程序。
弗林克-作业管理器配置 1.11.2 管理资源在 EMR 节点上的 Apache 弗林克 JobManager.
ganglia-monitor 3.7.2 适用于 Hadoop 生态系统应用程序的嵌入式 Ganglia 代理以及 Ganglia 监控代理。
ganglia-metadata-collector 3.7.2 用于从 Ganglia 监控代理中聚合指标的 Ganglia 元数据收集器。
ganglia-web 3.7.1 用于查看由 Ganglia 元数据收集器收集的指标的 Web 应用程序。
hadoop-client 2.10.1-amzn-0 Hadoop 命令行客户端,如“hdfs”、“hadoop”或“yarn”。
hadoop-hdfs-datanode 2.10.1-amzn-0 用于存储数据块的 HDFS 节点级服务。
hadoop-hdfs-library 2.10.1-amzn-0 HDFS 命令行客户端和库
hadoop-hdfs-namenode 2.10.1-amzn-0 用于跟踪文件名和数据块位置的 HDFS 服务。
hadoop-hdfs-journalnode 2.10.1-amzn-0 用于管理 HA 集群上的 Hadoop 文件系统日志的 HDFS 服务。
hadoop-httpfs-server 2.10.1-amzn-0 用于 HDFS 操作的 HTTP 终端节点。
hadoop-kms-server 2.10.1-amzn-0 基于 Hadoop 的 KeyProvider API 的加密密钥管理服务器。
hadoop-mapred 2.10.1-amzn-0 用于运行 MapReduce 应用程序的 MapReduce 执行引擎库。
hadoop-yarn-nodemanager 2.10.1-amzn-0 用于管理单个节点上的容器的 YARN 服务。
hadoop-yarn-resourcemanager 2.10.1-amzn-0 用于分配和管理群集资源与分布式应用程序的 YARN 服务。
hadoop-yarn-timeline-server 2.10.1-amzn-0 用于检索 YARN 应用程序的当前信息和历史信息的服务。
hbase-hmaster 1.4.13 适用于负责协调区域和执行管理命令的 HBase 集群的服务。
hbase-region-server 1.4.13 用于服务于一个或多个 HBase 区域的服务。
hbase-client 1.4.13 HBase 命令行客户端。
hbase-rest-server 1.4.13 用于向 HBase 提供 RESTful HTTP 终端节点的服务。
hbase-thrift-server 1.4.13 用于向 HBase 提供 Thrift 终端节点的服务。
hcatalog-client 2.3.7-amzn-3 用于操作 hcatalog-server 的“hcat”命令行客户端。
hcatalog-server 2.3.7-amzn-3 用于为分布式应用程序提供 HCatalog、表和存储管理层的服务。
hcatalog-webhcat-server 2.3.7-amzn-3 用于向 HCatalog 提供 REST 接口的 HTTP 终端节点。
hive-client 2.3.7-amzn-3 Hive 命令行客户端。
hive-hbase 2.3.7-amzn-3 Hive-hbase 客户端。
hive-metastore-server 2.3.7-amzn-3 用于访问 Hive 元存储 (一个用于存储 Hadoop 操作中的 SQL 的元数据的语义存储库) 的服务。
hive-server2 2.3.7-amzn-3 用于将 Hive 查询作为 Web 请求接受的服务。
hudi 0.6.0-amzn-0 增量处理框架,以支持低延迟和高效率的数据管道。
hudi-sparf 0.6.0-amzn-0 用于运行 Spark 以及 Hudi 的捆绑库。
hudi-presto 0.6.0-amzn-0 用于运行 Presto 以及 Hudl 的捆绑库。
hue-server 4.8.0 用于使用 Hadoop 生态系统应用程序分析数据的 Web 应用程序
jupyterhub 1.1.0 Jupyter 笔记本的多用户服务器
livy-server 0.7.0-incubating 用于与 Apache Spark 交互的 REST 接口
nginx 1.12.1 nginx [引擎 x] 是 HTTP 和反向代理服务器
mahout-client 0.13.0 用于机器学习的库。
mxnet 1.7.0 用于深度学习的灵活的、可扩展且高效的库。
mariadb-server 5.5.68 MySQL 数据库服务器。
nvidia-cuda 10.1.243 Nvidia 驱动程序和 Cuda 工具包
oozie-client 5.2.0 Oozie 命令行客户端。
oozie-server 5.2.0 用于接受 Oozie 工作流请求的服务。
opencv 4.4.0 开源计算机视觉库。
phoenix-library 4.14.3-HBase-1.4 服务器和客户端的 phoenix 库
phoenix-query-server 4.14.3-HBase-1.4 向 Avatica API 提供 JDBC 访问权限以及协议缓冲区和 JSON 格式访问权限的轻量级服务器
presto-coordinator 0.240.2.240.2.240.240.240.2.2.2.240. 用于在 presto-worker 之中接受查询并管理查询的服务。
presto-worker 0.240.2.240.2.240.240.240.2.2.2.240. 用于执行查询的各个部分的服务。
presto-client 0.240.2.240.2.240.240.240.2.2.2.240. Presto 命令行客户端,安装在 HA 集群的备用主服务器(未启动 Presto 服务器)上。
pig-client 0.17.0 Pig 命令行客户端。
r 3.4.3 用于统计计算的 R 项目
ranger-kms-server 1.2.0 Apache Ranger 密钥管理系统
spark-client 2.4.7-amzn-0 Spark 命令行客户端。
spark-history-server 2.4.7-amzn-0 用于查看完整的 Spark 应用程序的生命周期的已记录事件的 Web UI。
spark-on-yarn 2.4.7-amzn-0 适用于 YARN 的内存中执行引擎。
spark-yarn-slave 2.4.7-amzn-0 YARN 从属项所需的 Apache Spark 库。
sqoop-client 1.4.7 Apache Sqoop 命令行客户端。
tensorflow 2.3.1 适用于高性能数值计算的 TensorFlow 开源软件库。
tez-on-yarn 0.9.2 tez YARN 应用程序和库。
webserver 2.4.25+ Apache HTTP 服务器。
zeppelin-server 0.8.2 支持交互式数据分析的基于 Web 的笔记本电脑。
zookeeper-server 3.4.14 用于维护配置信息、命名、提供分布式同步以及提供组服务的集中式服务。
zookeeper-client 3.4.14 ZooKeeper 命令行客户端。

5.32.0 版配置分类

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

在您为运行的集群中的实例组指定配置时,将发生重新配置操作。EMR 仅为您修改的分类启动重新配置操作。有关更多信息,请参阅 在正在运行的集群中重新配置实例组

emr-5.32.0 分类
分类 说明 RECONDEGREE

capacity-scheduler

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

重新启动 ResourceManager 服务。

container-executor

更改 Hadoop YARN 的 container-executor.cfg 文件中的值。

不适用

container-log4j

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

不适用

core-site

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

重新启动 Hadoop HDFS 服务 Namenode、辅助编码、数据编码、ZKFC 和日记节点。重新启动 Hadoop YARN 服务 ResourceManager、NodeManager、ProxyServer 和时间服务器。此外,重新启动 Hadoop KMS、游侠 KMS、Hiveser2、蜂巢 MetaStore、Hadoop Httpfs 和映射历史记录服务器。

码头-conf

更改码头相关设置。

不适用

emrfs-site

更改 EMRFS 设置。

重新启动 Hadoop HDFS 服务 Namenode、辅助编码、数据编码、ZKFC 和日记节点。重新启动 Hadoop YARN 服务 ResourceManager、NodeManager、ProxyServer 和时间服务器。此外,重新启动 HBASE 区域服务器、HBASEmaster、HBASEFT、HBASE 休息服务器 2、配置单 MetaStore、Hadoop Httpfs 和映射历史记录服务器。

flink-conf

更改 flink-conf.yaml 设置。

重新启动 Fink 历史记录服务器。

flink-log4j

更改 Flink log4j.properties 设置。

重新启动 Fink 历史记录服务器。

flink-log4j-yarn-session

更改 Flink log4j-yarn-session.properties 设置。

不适用

flink-log4j-cli

更改 Flink log4j-cli.properties 设置。

重新启动 Fink 历史记录服务器。

hadoop-env

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

重新启动 Hadoop HDFS 服务 Namenode、辅助编码、数据编码、ZKFC 和日记节点。重新启动 Hadoop YARN 服务 ResourceManager、NodeManager、ProxyServer 和时间服务器。此外,重新启动凤凰查询服务器、隐藏服务器 2、配置单 MetaStore 和映射历史记录服务器。

hadoop-log4j

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

重新启动 Hadoop HDFS 服务 Namenode、辅助编码、数据编码、ZKFC 和日记节点。重新启动 Hadoop YARN 服务 ResourceManager、NodeManager、ProxyServer 和时间服务器。此外,重新启动 Hadoop KMS、Hadoop Httpfs 和映射历史记录服务器。

hadoop-ssl-server

更改 hadoop ssl 服务器配置

不适用

hadoop-ssl-client

更改 hadoop ssl 客户端配置

不适用

hbase

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

自定义 EMR 特定属性。设置 EMRFS 站点和 hbase 站点配置。有关其相关重新启动的信息,请参阅这些

hbase-env

更改 HBase 环境中的值。

重新启动 HBase 服务 RegionServer,HBASE,ThriftServer,REST 服务器。

hbase-log4j

更改 HBase 的 hbase-log4j.properties 文件中的值。

重新启动 HBase 服务 RegionServer,HBASE,ThriftServer,REST 服务器。

hbase-metrics

更改 HBase 的 hadoop-metrics2-hbase.properties 文件中的值。

重新启动 HBase 服务 RegionServer,HBASE,ThriftServer,REST 服务器。

hbase-policy

更改 HBase 的 hbase-policy.xml 文件中的值。

不适用

hbase-site

更改 HBase 的 hbase-site.xml 文件中的值。

重新启动 HBase 服务 RegionServer,HBASE,ThriftServer,REST 服务器。此外,重新启动凤凰 QueryServer。

hdfs-encryption-zones

配置 HDFS 加密区域。

不应重新配置。

hdfs-site

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

重新启动 Hadoop HDFS 服务 Namenode、辅助编码、数据编码、ZKFC 和日记节点。此外,重新启动 Hadoop Httpfs。

hcatalog-env

更改 HCatalog 的环境中的值。

重新启动配置单元目录服务器。

hcatalog-server-jndi

更改 HCatalog 的 jndi.properties 中的值。

重新启动配置单元目录服务器。

hcatalog-server-proto-hive-site

更改 HCatalog 的 proto-hive-site.xml 中的值。

重新启动配置单元目录服务器。

hcatalog-webhcat-env

更改 HCatalog WebHCat 的环境中的值。

重新启动配置单元 WebHCat 服务器。

hcatalog-webhcat-log4j2

更改 HCatalog WebHCat 的 log4j2.properties 中的值。

重新启动配置单元 WebHCat 服务器。

hcatalog-webhcat-site

更改 HCatalog WebHCat 的 webhcat-site.xml 文件中的值。

重新启动配置单元 WebHCat 服务器。

hive-beeline-log4j2

更改 Hive 的 beeline-log4j2.properties 文件中的值。

不适用

hive-parquet-logging

更改 Hive parquet-logging.properties 文件中的值。

不适用

hive-env

更改 Hive 环境中的值。

重新启动隐藏服务器 2 和集成元数据存储。运行配置单元架构 CLI 命令来验证配置单元数据仓。

hive-exec-log4j2

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

重新启动隐藏服务器 2 和集成元数据存储。

hive-llap-daemon-log4j2

更改 Hive 的 llap-daemon-log4j2.properties 文件中的值。

不适用

hive-log4j2

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

不适用

hive-site

更改 Hive 的 hive-site.xml 文件中的值

重新启动隐藏服务器 2 和集成元数据存储。运行配置单元架构 CLI 命令来验证配置单元数据仓。同时重新启动 Oozie 和齐柏林。

hiveserver2-site

更改 Hive Server2 的 hiveserver2-site.xml 文件中的值

不适用

hue-ini

更改 Hue 的 ini 文件中的值

重新启动 Hue。同时激活 Hue 配置覆盖 CLI 命令以获取新配置。

httpfs-env

更改 HTTPFS 环境中的值。

重新启动 Hadoop Httpfs 服务。

httpfs-site

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

重新启动 Hadoop Httpfs 服务。

hadoop-kms-acls

更改 Hadoop 的 kms-acls.xml 文件中的值。

不适用

hadoop-kms-env

更改 Hadoop KMS 环境中的值。

重新启动 Hadoop-KMS 服务。

hadoop-kms-log4j

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

不适用

hadoop-kms-site

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

重新启动 Hadoop 公里和范围公里服务。

hudi-env

更改 HDFS 环境中的值。

不适用

jupyter-notebook-conf

更改 Jupyter Notebook 的 jupyter_notebook_config.py 文件中的值。

不适用

jupyter-hub-conf

更改 JupyterHubs 的 jupyterhub_config.py 文件中的值。

不适用

jupyter-s3-conf

配置 Jupyter Notebook S3 持久性。

不适用

jupyter-sparkmagic-conf

更改 Sparkmagic 的 config.json 文件中的值。

不适用

livy-conf

更改 Livy 的 livy.conf 文件中的值。

重新启动 Livy 服务器。

livy-env

更改 Livy 环境中的值。

重新启动 Livy 服务器。

livy-log4j

更改 Livy log4j.properties 设置。

重新启动 Livy 服务器。

mapred-env

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

重新启动 Hadoop 映射-历史记录服务器。

mapred-site

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

重新启动 Hadoop 映射-历史记录服务器。

oozie-env

更改 Oozie 的环境中的值。

重新启动 Oozie。

oozie-log4j

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

重新启动 Oozie。

oozie-site

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

重新启动 Oozie。

phoenix-hbase-metrics

更改 Phoenix 的 hadoop-metrics2-hbase.properties 文件中的值。

不适用

phoenix-hbase-site

更改 Phoenix 的 hbase-site.xml 文件中的值。

不适用

phoenix-log4j

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

重新启动凤凰查询服务器。

phoenix-metrics

更改 Phoenix 的 hadoop-metrics2-phoenix.properties 文件中的值。

不适用

pig-env

更改 Pig 环境中的值。

不适用

pig-properties

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

重新启动 Oozie。

pig-log4j

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

不适用

presto-log

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

重新启动预存储服务器。

presto-config

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

重新启动预存储服务器。

presto-password-authenticator

更改 Presto 的 password-authenticator.properties 文件中的值。

不适用

presto-env

更改 Presto 的 presto-env.sh 文件中的值。

重新启动预存储服务器。

presto-node

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

不适用

presto-connector-blackhole

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

不适用

presto-connector-cassandra

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

不适用

presto-connector-hive

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

重新启动预存储服务器。

presto-connector-jmx

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

不适用

presto-connector-kafka

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

不适用

presto-connector-localfile

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

不适用

presto-connector-memory

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

不适用

presto-connector-mongodb

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

不适用

presto-connector-mysql

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

不适用

presto-connector-postgresql

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

不适用

presto-connector-raptor

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

不适用

presto-connector-redis

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

不适用

presto-connector-redshift

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

不适用

presto-connector-tpch

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

不适用

presto-connector-tpcds

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

不适用

ranger-kms-dbks-site

更改 Ranger KMS 的 dbks-site.xml 文件中的值。

重新启动游侠 KMS 服务器。

ranger-kms-site

更改 Ranger KMS 的 ranger-kms-site.xml 文件中的值。

重新启动游侠 KMS 服务器。

ranger-kms-env

更改 Ranger KMS 环境中的值。

重新启动游侠 KMS 服务器。

ranger-kms-log4j

更改 Ranger KMS 的 kms-log4j.properties 文件中的值。

不适用

ranger-kms-db-ca

更改 S3 上用于与 Ranger KMS 进行 MySQL SSL 连接的 CA 文件的值。

不适用

recordserver-env

更改 EMR RecordServer 环境中的值。

重新启动 EMR 记录服务器。

recordserver-conf

更改 EMR RecordServer erver.properties 文件中的值。

重新启动 EMR 记录服务器。

recordserver-log4j

更改 EMR RecordServer log4j.properties 文件中的值。

重新启动 EMR 记录服务器。

spark

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

此属性修改火花默认值。请参阅此处的操作。

spark-defaults

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

重新启动 Spark 历史服务器和 Spark 节俭服务器。

spark-env

更改 Spark 环境中的值。

重新启动 Spark 历史服务器和 Spark 节俭服务器。

spark-hive-site

更改 Spark 的 hive-site.xml 文件中的值

不适用

spark-log4j

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

重新启动 Spark 历史服务器和 Spark 节俭服务器。

spark-metrics

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

重新启动 Spark 历史服务器和 Spark 节俭服务器。

sqoop-env

更改 Sqoop 的环境中的值。

不适用

sqoop-oraoop-site

更改 Sqoop OraOop 的 oraoop-site.xml 文件中的值。

不适用

sqoop-site

更改 Sqoop 的 sqoop-site.xml 文件中的值。

不适用

tez-site

更改 Tez 的 tez-site.xml 文件中的值。

重新启动 Oozie。

yarn-env

更改 YARN 环境中的值。

重新启动 Hadoop YARN 服务 ResourceManager、NodeManager、ProxyServer 和时间服务器。此外,重新启动映射-历史记录服务器。

yarn-site

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

重新启动 Hadoop YARN 服务 ResourceManager、NodeManager、ProxyServer 和时间服务器。此外,重新启动 Livy 服务器和映射历史记录服务器。

zeppelin-env

更改 Zeppelin 环境中的值。

重新启动 Zeppelin。

zookeeper-config

更改 ZooKeeper 的 zoo.cfg 文件中的值。

重新启动动动物管理员服务器。

zookeeper-log4j

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

重新启动动动物管理员服务器。

5.31.0

5.31.0 版应用程序版本

此版本支持以下应用程序:FlinkGangliaHadoopHBaseHCatalogHiveHueJupyterHubLivyMahoutMXNetOoziePhoenixPigPrestoSparkSqoopTensorFlowTezZeppelin, 和ZooKeeper

下图描述了此版本的中提供的应用程序版本以及前四个 Amazon EMR 发布版本中的应用程序版本。

有关每个 Amazon EMR 版本的的全面历史记录,请参见下面的示意图:

版本 5.31.0 发行说明

以下发布说明包括有关 Amazon EMR 发布版本 5.31.0 的信息。更改是相对于 5.30.1 而言。

首次发布日期:2020 年 10 月 9 日

上次更新日期:2020 年 10 月 15 日

Upgrades

  • 已升 Glue 到版本 1.13.0

  • 已将 Amazon SageMaker Spark SDK 升级到版本 1.4.0

  • 将 Amazon Kinesis 连接器升级到 3.5.9 版

  • 已将升级到版本 1.11.852

  • 已将大型 Tomcat 升级到版本 8.5.56

  • 已将 EMR FS 升级到版本 2.43.0

  • 将 EMR 度量升级到版本 1.4.0

  • 已将 EMR S3 分区 CP 升级到版本 2.15.0

  • 已将 EMR S3 升级到版本 1.6.0

  • 已将 Flink 升级到版本 1.11.0

  • 已将 Hadoop 升级到版本 2.10.0

  • 已将 Hive 升级到版本 2.3.7

  • 已将 Hudi 升级到 0.6.0

  • 已将 Hue 升级到版本 4.7.1

  • 已将 JupyterHub 升级到版本 1.1.0

  • 已将 Mxnet 升级到版本 1.6.0

  • 已将 OpenCV 升级到版本 4.3.0

  • 已将 Presto 升级到版本 0.238.3

  • 将张力流升级为版本 2.1.0

更改、增强和已解决的问题

新功能

  • 较早的 AL2 上的 “最大打开文件” 限制较低。 亚马逊 EMR 版本:EMR 5.30.x、EMR-5.31.0、EMR-5.32.0、EMR-6.0.0、EMR-6.1.0 和 EMR-6.2.0 基于旧版本的 OFAMZON Linux 2 (AL2),当使用默认 AMI 创建 EMR 集群时,这些版本的下限设置为 “最大打开文件”。提交 Spark 作业时,打开的文件下限会导致 “打开的文件过多” 错误。在受影响的 EMR 版本中,亚马逊 EMR 默认 AMI 对于 “最大打开文件” 的默认限制设置为 4096,低于最新亚马逊 Linux 2 AMI 中的 65536 文件限制。当 Spark 驱动程序和执行程序尝试打开超过 4096 个文件时,“最大打开文件” 的下限设置会导致 Spark 作业失败。要修复此问题,Amazon EMR 有一个引导操作 (BA) 脚本,用于在创建集群时调整 ulimit 设置。亚马逊 EMR 6.3.0 和 5.33.0 版将包括一个具有更高 “最大打开文件” 设置的永久修复程序。

    此问题的以下解决方法允许您显式将实例控制器 ulimit 设置为最多 65536 文件。

    从命令行显式设置 ulimit

    1. 编辑/etc/systemd/system/instance-controller.service将以下参数添加到服务部分。

      LimitNOFILE=65536

      LimitNPROC=65536

    2. 重启实例 Controller

      $ sudo systemctl daemon-reload

      $ sudo systemctl restart instance-controller

    使用引导操作设置 u限制 (BA)

    您还可以使用引导操作 (BA) 脚本在群集创建时将实例控制器 ulimit 配置为 65536 个文件。

    #!/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 5.31.0,您可以启动与 Lake Formation 成集成的集群。此集成提供精细列级别的数据筛选AmazonGlue 数据目录。它还可实现从企业身份系统对 EMR Notebooks 或 Apache Zeppelin 的联合身份单点登录。有关更多信息,请参阅 。集成 Amazon EMRAmazon Lake Formation中的Amazon EMR 管理指南

    亚马逊 EMR 与 Lake Formation 成目前在 16Amazon区域:美国东部(俄亥俄和弗吉尼亚北部)、美国西部(加利福尼亚北部和俄勒冈)、亚太地区(孟买、首尔、新加坡、悉尼和东京)、加拿大(中部)、欧洲(法兰克福、爱尔兰、伦敦、巴黎和斯德哥尔摩)、南美洲(圣保罗)。

已知问题

  • 具有多个主节点和 Kerberos 身份验证的群集中的已知问题

    如果在 EMR 5.20.0 版及更高版本中运行具有多个主节点和 Kerberos 身份验证的群集,则在群集运行一段时间后,您可能会遇到群集操作(如缩小或步骤提交)的问题。时间段取决于您定义的 Kerberos 票证有效期。缩小问题会影响您提交的自动缩小和显式缩小请求。其他群集操作也可能受到影响。

    解决办法:

    • SSH 作为hadoop用户连接到具有多个主节点的 EMR 群集的领导主节点。

    • 运行以下命令来续订hadoop用户。

      kinit -kt <keytab_file> <principal>

      通常情况下,密钥表文件位于/etc/hadoop.keytab和本金采用格式hadoop/<hostname>@<REALM>

    注意

    此替代方法将在 Kerberos 票证有效的时间段内生效。默认情况下,此持续时间为 10 小时,但可以通过 Kerberos 设置进行配置。一旦 Kerberos 票证过期,您必须重新运行上述命令。

  • 在使用 EMR 5.31.0 或 5.32.0 的群集上启用了 ATEN 加密或 HDFS 加密时,Hive 查询会导致以下运行时异常。

    TaskAttempt 3 failed, info=[Error: Error while running task ( failure ) : attempt_1604112648850_0001_1_01_000000_3:java.lang.RuntimeException: java.lang.RuntimeException: Hive Runtime Error while closing operators: java.io.IOException: java.util.ServiceConfigurationError: org.apache.hadoop.security.token.TokenIdentifier: Provider org.apache.hadoop.hbase.security.token.AuthenticationTokenIdentifier not found

版本 5.31.0 组件版本

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

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

组件 Version 说明
aws-sagemaker-spark-sdk 1.4.0 Amazon SageMaker Spark 开发工具包
emr-ddb 4.15.0 适用于 Hadoop 生态系统应用程序的 Amazon DynamoDB 连接器。
emr-goodies 2.13.0 适用于 Hadoop 生态系统的方便易用的库。
emr-kinesis 3.5.0 适用于 Hadoop 生态系统应用程序的 Amazon Kinesis 连接器。
emr-s3-dist-cp 2.15.0 针对 Amazon S3 优化的分布式复制应用程序。
emr-s3-select 1.6.0 EMR S3 Select 连接器
emrfs 2.43.0 适用于 Hadoop 生态系统应用程序的 Amazon S3 连接器。
flink-client 1.11.0 Apache Flink 命令行客户端脚本和应用程序。
弗林克-作业管理器配置 1.11.0 管理资源在 EMR 节点上的 Apache 弗林克 JobManager.
ganglia-monitor 3.7.2 适用于 Hadoop 生态系统应用程序的嵌入式 Ganglia 代理以及 Ganglia 监控代理。
ganglia-metadata-collector 3.7.2 用于从 Ganglia 监控代理中聚合指标的 Ganglia 元数据收集器。
ganglia-web 3.7.1 用于查看由 Ganglia 元数据收集器收集的指标的 Web 应用程序。
hadoop-client 2.10.0-amzn-0 Hadoop 命令行客户端,如“hdfs”、“hadoop”或“yarn”。
hadoop-hdfs-datanode 2.10.0-amzn-0 用于存储数据块的 HDFS 节点级服务。
hadoop-hdfs-library 2.10.0-amzn-0 HDFS 命令行客户端和库
hadoop-hdfs-namenode 2.10.0-amzn-0 用于跟踪文件名和数据块位置的 HDFS 服务。
hadoop-hdfs-journalnode 2.10.0-amzn-0 用于管理 HA 集群上的 Hadoop 文件系统日志的 HDFS 服务。
hadoop-httpfs-server 2.10.0-amzn-0 用于 HDFS 操作的 HTTP 终端节点。
hadoop-kms-server 2.10.0-amzn-0 基于 Hadoop 的 KeyProvider API 的加密密钥管理服务器。
hadoop-mapred 2.10.0-amzn-0 用于运行 MapReduce 应用程序的 MapReduce 执行引擎库。
hadoop-yarn-nodemanager 2.10.0-amzn-0 用于管理单个节点上的容器的 YARN 服务。
hadoop-yarn-resourcemanager 2.10.0-amzn-0 用于分配和管理群集资源与分布式应用程序的 YARN 服务。
hadoop-yarn-timeline-server 2.10.0-amzn-0 用于检索 YARN 应用程序的当前信息和历史信息的服务。
hbase-hmaster 1.4.13 适用于负责协调区域和执行管理命令的 HBase 集群的服务。
hbase-region-server 1.4.13 用于服务于一个或多个 HBase 区域的服务。
hbase-client 1.4.13 HBase 命令行客户端。
hbase-rest-server 1.4.13 用于向 HBase 提供 RESTful HTTP 终端节点的服务。
hbase-thrift-server 1.4.13 用于向 HBase 提供 Thrift 终端节点的服务。
hcatalog-client 2.3.7-amzn-1 用于操作 hcatalog-server 的“hcat”命令行客户端。
hcatalog-server 2.3.7-amzn-1 用于为分布式应用程序提供 HCatalog、表和存储管理层的服务。
hcatalog-webhcat-server 2.3.7-amzn-1 用于向 HCatalog 提供 REST 接口的 HTTP 终端节点。
hive-client 2.3.7-amzn-1 Hive 命令行客户端。
hive-hbase 2.3.7-amzn-1 Hive-hbase 客户端。
hive-metastore-server 2.3.7-amzn-1 用于访问 Hive 元存储 (一个用于存储 Hadoop 操作中的 SQL 的元数据的语义存储库) 的服务。
hive-server2 2.3.7-amzn-1 用于将 Hive 查询作为 Web 请求接受的服务。
hudi 0.6.0-amzn-0 增量处理框架,以支持低延迟和高效率的数据管道。
hudi-sparf 0.6.0-amzn-0 用于运行 Spark 以及 Hudi 的捆绑库。
hudi-presto 0.6.0-amzn-0 用于运行 Presto 以及 Hudl 的捆绑库。
hue-server 4.7.1 用于使用 Hadoop 生态系统应用程序分析数据的 Web 应用程序
jupyterhub 1.1.0 Jupyter 笔记本的多用户服务器
livy-server 0.7.0-incubating 用于与 Apache Spark 交互的 REST 接口
nginx 1.12.1 nginx [引擎 x] 是 HTTP 和反向代理服务器
mahout-client 0.13.0 用于机器学习的库。
mxnet 1.6.0 用于深度学习的灵活的、可扩展且高效的库。
mariadb-server 5.5.64 MySQL 数据库服务器。
nvidia-cuda 9.2.88 Nvidia 驱动程序和 Cuda 工具包
oozie-client 5.2.0 Oozie 命令行客户端。
oozie-server 5.2.0 用于接受 Oozie 工作流请求的服务。
opencv 4.3.0 开源计算机视觉库。
phoenix-library 4.14.3-HBase-1.4 服务器和客户端的 phoenix 库
phoenix-query-server 4.14.3-HBase-1.4 向 Avatica API 提供 JDBC 访问权限以及协议缓冲区和 JSON 格式访问权限的轻量级服务器
presto-coordinator 0.238.3-amzn-0 用于在 presto-worker 之中接受查询并管理查询的服务。
presto-worker 0.238.3-amzn-0 用于执行查询的各个部分的服务。
presto-client 0.238.3-amzn-0 Presto 命令行客户端,安装在 HA 集群的备用主服务器(未启动 Presto 服务器)上。
pig-client 0.17.0 Pig 命令行客户端。
r 3.4.3 用于统计计算的 R 项目
ranger-kms-server 1.2.0 Apache Ranger 密钥管理系统
spark-client 2.4.6-amzn-0 Spark 命令行客户端。
spark-history-server 2.4.6-amzn-0 用于查看完整的 Spark 应用程序的生命周期的已记录事件的 Web UI。
spark-on-yarn 2.4.6-amzn-0 适用于 YARN 的内存中执行引擎。
spark-yarn-slave 2.4.6-amzn-0 YARN 从属项所需的 Apache Spark 库。
sqoop-client 1.4.7 Apache Sqoop 命令行客户端。
tensorflow 2.1.0 适用于高性能数值计算的 TensorFlow 开源软件库。
tez-on-yarn 0.9.2 tez YARN 应用程序和库。
webserver 2.4.25+ Apache HTTP 服务器。
zeppelin-server 0.8.2 支持交互式数据分析的基于 Web 的笔记本电脑。
zookeeper-server 3.4.14 用于维护配置信息、命名、提供分布式同步以及提供组服务的集中式服务。
zookeeper-client 3.4.14 ZooKeeper 命令行客户端。

5.31.0 版配置分类

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

emr-5.31.0 分类
分类 说明

capacity-scheduler

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

container-log4j

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

core-site

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

emrfs-site

更改 EMRFS 设置。

flink-conf

更改 flink-conf.yaml 设置。

flink-log4j

更改 Flink log4j.properties 设置。

flink-log4j-yarn-session

更改 Flink log4j-yarn-session.properties 设置。

flink-log4j-cli

更改 Flink log4j-cli.properties 设置。

hadoop-env

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

hadoop-log4j

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

hadoop-ssl-server

更改 hadoop ssl 服务器配置

hadoop-ssl-client

更改 hadoop ssl 客户端配置

hbase

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

hbase-env

更改 HBase 环境中的值。

hbase-log4j

更改 HBase 的 hbase-log4j.properties 文件中的值。

hbase-metrics

更改 HBase 的 hadoop-metrics2-hbase.properties 文件中的值。

hbase-policy

更改 HBase 的 hbase-policy.xml 文件中的值。

hbase-site

更改 HBase 的 hbase-site.xml 文件中的值。

hdfs-encryption-zones

配置 HDFS 加密区域。

hdfs-site

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

hcatalog-env

更改 HCatalog 的环境中的值。

hcatalog-server-jndi

更改 HCatalog 的 jndi.properties 中的值。

hcatalog-server-proto-hive-site

更改 HCatalog 的 proto-hive-site.xml 中的值。

hcatalog-webhcat-env

更改 HCatalog WebHCat 的环境中的值。

hcatalog-webhcat-log4j2

更改 HCatalog WebHCat 的 log4j2.properties 中的值。

hcatalog-webhcat-site

更改 HCatalog WebHCat 的 webhcat-site.xml 文件中的值。

hive-beeline-log4j2

更改 Hive 的 beeline-log4j2.properties 文件中的值。

hive-parquet-logging

更改 Hive parquet-logging.properties 文件中的值。

hive-env

更改 Hive 环境中的值。

hive-exec-log4j2

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

hive-llap-daemon-log4j2

更改 Hive 的 llap-daemon-log4j2.properties 文件中的值。

hive-log4j2

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

hive-site

更改 Hive 的 hive-site.xml 文件中的值

hiveserver2-site

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

hudi-env

更改 HDFS 环境中的值。

jupyter-notebook-conf

更改 Jupyter Notebook 的 jupyter_notebook_config.py 文件中的值。

jupyter-hub-conf

更改 JupyterHubs 的 jupyterhub_config.py 文件中的值。

jupyter-s3-conf

配置 Jupyter Notebook S3 持久性。

jupyter-sparkmagic-conf

更改 Sparkmagic 的 config.json 文件中的值。

livy-conf

更改 Livy 的 livy.conf 文件中的值。

livy-env

更改 Livy 环境中的值。

livy-log4j

更改 Livy log4j.properties 设置。

mapred-env

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

mapred-site

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

oozie-env

更改 Oozie 的环境中的值。

oozie-log4j

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

oozie-site

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

phoenix-hbase-metrics

更改 Phoenix 的 hadoop-metrics2-hbase.properties 文件中的值。

phoenix-hbase-site

更改 Phoenix 的 hbase-site.xml 文件中的值。

phoenix-log4j

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

phoenix-metrics

更改 Phoenix 的 hadoop-metrics2-phoenix.properties 文件中的值。

pig-env

更改 Pig 环境中的值。

pig-properties

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

pig-log4j

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

presto-log

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

presto-config

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

presto-password-authenticator

更改 Presto 的 password-authenticator.properties 文件中的值。

presto-env

更改 Presto 的 presto-env.sh 文件中的值。

presto-node

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

presto-connector-blackhole

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

presto-connector-cassandra

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

presto-connector-hive

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

presto-connector-jmx

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

presto-connector-kafka

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

presto-connector-localfile

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

presto-connector-memory

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

presto-connector-mongodb

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

presto-connector-mysql

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

presto-connector-postgresql

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

presto-connector-raptor

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

presto-connector-redis

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

presto-connector-redshift

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

presto-connector-tpch

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

presto-connector-tpcds

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

ranger-kms-dbks-site

更改 Ranger KMS 的 dbks-site.xml 文件中的值。

ranger-kms-site

更改 Ranger KMS 的 ranger-kms-site.xml 文件中的值。

ranger-kms-env

更改 Ranger KMS 环境中的值。

ranger-kms-log4j

更改 Ranger KMS 的 kms-log4j.properties 文件中的值。

ranger-kms-db-ca

更改 S3 上用于与 Ranger KMS 进行 MySQL SSL 连接的 CA 文件的值。

recordserver-env

更改 EMR RecordServer 环境中的值。

recordserver-conf

更改 EMR RecordServer erver.properties 文件中的值。

recordserver-log4j

更改 EMR RecordServer log4j.properties 文件中的值。

spark

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

spark-defaults

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

spark-env

更改 Spark 环境中的值。

spark-hive-site

更改 Spark 的 hive-site.xml 文件中的值

spark-log4j

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

spark-metrics

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

sqoop-env

更改 Sqoop 的环境中的值。

sqoop-oraoop-site

更改 Sqoop OraOop 的 oraoop-site.xml 文件中的值。

sqoop-site

更改 Sqoop 的 sqoop-site.xml 文件中的值。

tez-site

更改 Tez 的 tez-site.xml 文件中的值。

yarn-env

更改 YARN 环境中的值。

yarn-site

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

zeppelin-env

更改 Zeppelin 环境中的值。

zookeeper-config

更改 ZooKeeper 的 zoo.cfg 文件中的值。

zookeeper-log4j

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

5.30.x

5.30 系列中有多个版本。选择下方的链接以在此选项卡内查看特定发布版本的信息。

5.30.1 (最新)| 5.30.0

亚马逊 EMR 5.30.1 版

5.30.1 版应用程序版本

此版本支持以下应用程序:FlinkGangliaHadoopHBaseHCatalogHiveHueJupyterHubLivyMahoutMXNetOoziePhoenixPigPrestoSparkSqoopTensorFlowTezZeppelin, 和ZooKeeper

下图描述了此版本的中提供的应用程序版本以及前四个 Amazon EMR 发布版本中的应用程序版本。

有关每个 Amazon EMR 版本的的全面历史记录,请参见下面的示意图:

发行版 5.30.1 发布说明

以下发布说明包括有关 Amazon EMR 发布版本 5.30.1 的信息。更改是相对于 5.30.0 而言。

首次发布日期:2020 年 6 月 30 日

上次更新日期:2020 年 8 月 24 日

更改、增强和已解决的问题

  • 修复了实例控制器进程产生无限数量的进程的问题。

  • 修复了 Hue 无法运行 Hive 查询、显示 “数据库已锁定” 消息并阻止执行查询的问题。

  • 修复了 Spark 问题,以便在 EMR 群集上同时运行更多任务。

  • 修复了 Jupyter 笔记本电脑问题,导致 Jupyter 服务器出现 “太多文件打开错误”。

  • 修复了集群启动时间的问题。

新功能

  • Amazon EMR 6.x 版和 EMR 5.30.1 及更高版本可用于 Tez UI 和 YARN 时间线服务器持久性应用程序界面。一键访问持久性应用程序历史记录可让您快速访问作业历史记录,而无需通过 SSH 连接设置 Web 代理。活动和终止集群的日志在应用程序结束后的 30 天内均可用。有关更多信息,请参阅 。查看持久性应用程序用户界面中的Amazon EMR 管理指南

  • EMR 笔记本执行 API 可用于通过脚本或命令行执行 EMR 笔记本电脑。能够启动、停止、列出和描述 EMR 笔记本执行,而无需Amazon控制台使您能够以编程方式控制 EMR 笔记本。使用参数化的笔记本单元格,您可以将不同的参数值传递给笔记本,而无需为每组新参数值创建笔记本副本。请参阅EMR API 操作。有关示例代码,请参阅以编程方式执行 EMR Notebooks 的示例命令。

已知问题

  • 较早的 AL2 上的 “最大打开文件” 限制较低。 亚马逊 EMR 版本:EMR 5.30.x、EMR-5.31.0、EMR-5.32.0、EMR-6.0.0、EMR-6.1.0 和 EMR-6.2.0 基于旧版本的 OFAMZON Linux 2 (AL2),当使用默认 AMI 创建 EMR 集群时,这些版本的下限设置为 “最大打开文件”。提交 Spark 作业时,打开的文件下限会导致 “打开的文件过多” 错误。在受影响的 EMR 版本中,亚马逊 EMR 默认 AMI 对于 “最大打开文件” 的默认限制设置为 4096,低于最新亚马逊 Linux 2 AMI 中的 65536 文件限制。当 Spark 驱动程序和执行程序尝试打开超过 4096 个文件时,“最大打开文件” 的下限设置会导致 Spark 作业失败。要修复此问题,Amazon EMR 有一个引导操作 (BA) 脚本,用于在创建集群时调整 ulimit 设置。亚马逊 EMR 6.3.0 和 5.33.0 版将包括一个具有更高 “最大打开文件” 设置的永久修复程序。

    此问题的以下解决方法允许您显式将实例控制器 ulimit 设置为最多 65536 文件。

    从命令行显式设置 ulimit

    1. 编辑/etc/systemd/system/instance-controller.service将以下参数添加到服务部分。

      LimitNOFILE=65536

      LimitNPROC=65536

    2. 重启实例 Controller

      $ sudo systemctl daemon-reload

      $ sudo systemctl restart instance-controller

    使用引导操作设置 u限制 (BA)

    您还可以使用引导操作 (BA) 脚本在群集创建时将实例控制器 ulimit 配置为 65536 个文件。

    #!/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
  • EMR 笔记本

    默认情况下,EMR 5.30.1 版本上禁用了允许您在群集主节点上安装内核和其他 Python 库的功能。有关此功能的更多信息,请参阅在集群主节点上安装内核和 Python 库

    要启用此功能,请执行以下操作:

    1. 确保附加到 EMR Notebooks 服务角色的权限策略允许执行以下操作:

      elasticmapreduce:ListSteps

      有关更多信息,请参阅 EMR 笔记本的服务角色

    2. 使用Amazon CLI以在集群上运行一个步骤,用于设置 EMR Notebooks,如以下示例所示。Replaceus-east-1以及集群所在的区域。有关更多信息,请参阅 。使用 向集群添加步骤Amazon CLI

      aws emr add-steps --cluster-id MyClusterID --steps Type=CUSTOM_JAR,Name=EMRNotebooksSetup,ActionOnFailure=CONTINUE,Jar=s3://us-east-1.elasticmapreduce/libs/script-runner/script-runner.jar,Args=["s3://awssupportdatasvcs.com/bootstrap-actions/EMRNotebooksSetup/emr-notebooks-setup.sh"]
  • 托管调整

    在未安装 Presto 的 5.30.0 和 5.30.1 群集上进行托管扩展操作可能会导致应用程序故障或导致统一的实例组或实例队列保留在ARRESTED状态,特别是当缩小操作之后快速执行向上扩展操作时。

    作为一种解决方法,即使您的作业不需要 Presto,也可以在创建集群时选择 Presto 作为要安装的应用程序。

  • 具有多个主节点和 Kerberos 身份验证的群集中的已知问题

    如果在 EMR 5.20.0 版及更高版本中运行具有多个主节点和 Kerberos 身份验证的群集,则在群集运行一段时间后,您可能会遇到群集操作(如缩小或步骤提交)的问题。时间段取决于您定义的 Kerberos 票证有效期。缩小问题会影响您提交的自动缩小和显式缩小请求。其他群集操作也可能受到影响。

    解决办法:

    • SSH 作为hadoop用户连接到具有多个主节点的 EMR 群集的领导主节点。

    • 运行以下命令来续订hadoop用户。

      kinit -kt <keytab_file> <principal>

      通常情况下,密钥表文件位于/etc/hadoop.keytab和本金采用格式hadoop/<hostname>@<REALM>

    注意

    此替代方法将在 Kerberos 票证有效的时间段内生效。默认情况下,此持续时间为 10 小时,但可以通过 Kerberos 设置进行配置。一旦 Kerberos 票证过期,您必须重新运行上述命令。

发行版 5.30.1 组件版本

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

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

组件 Version 说明
aws-sagemaker-spark-sdk 1.3.0 Amazon SageMaker Spark 开发工具包
emr-ddb 4.14.0 适用于 Hadoop 生态系统应用程序的 Amazon DynamoDB 连接器。
emr-goodies 2.13.0 适用于 Hadoop 生态系统的方便易用的库。
emr-kinesis 3.5.0 适用于 Hadoop 生态系统应用程序的 Amazon Kinesis 连接器。
emr-s3-dist-cp emrfs 针对 Amazon S3 优化的分布式复制应用程序。
emr-s3-select 1.5.0 EMR S3 Select 连接器
emrfs 2.40.0 适用于 Hadoop 生态系统应用程序的 Amazon S3 连接器。
flink-client 1.10.0 Apache Flink 命令行客户端脚本和应用程序。
ganglia-monitor 3.7.2 适用于 Hadoop 生态系统应用程序的嵌入式 Ganglia 代理以及 Ganglia 监控代理。
ganglia-metadata-collector 3.7.2 用于从 Ganglia 监控代理中聚合指标的 Ganglia 元数据收集器。
ganglia-web 3.7.1 用于查看由 Ganglia 元数据收集器收集的指标的 Web 应用程序。
hadoop-client 2.8.5-amzn-6 Hadoop 命令行客户端,如“hdfs”、“hadoop”或“yarn”。
hadoop-hdfs-datanode 2.8.5-amzn-6 用于存储数据块的 HDFS 节点级服务。
hadoop-hdfs-library 2.8.5-amzn-6 HDFS 命令行客户端和库
hadoop-hdfs-namenode 2.8.5-amzn-6 用于跟踪文件名和数据块位置的 HDFS 服务。
hadoop-hdfs-journalnode 2.8.5-amzn-6 用于管理 HA 集群上的 Hadoop 文件系统日志的 HDFS 服务。
hadoop-httpfs-server 2.8.5-amzn-6 用于 HDFS 操作的 HTTP 终端节点。
hadoop-kms-server 2.8.5-amzn-6 基于 Hadoop 的 KeyProvider API 的加密密钥管理服务器。
hadoop-mapred 2.8.5-amzn-6 用于运行 MapReduce 应用程序的 MapReduce 执行引擎库。
hadoop-yarn-nodemanager 2.8.5-amzn-6 用于管理单个节点上的容器的 YARN 服务。
hadoop-yarn-resourcemanager 2.8.5-amzn-6 用于分配和管理群集资源与分布式应用程序的 YARN 服务。
hadoop-yarn-timeline-server 2.8.5-amzn-6 用于检索 YARN 应用程序的当前信息和历史信息的服务。
hbase-hmaster 1.4.13 适用于负责协调区域和执行管理命令的 HBase 集群的服务。
hbase-region-server 1.4.13 用于服务于一个或多个 HBase 区域的服务。
hbase-client 1.4.13 HBase 命令行客户端。
hbase-rest-server 1.4.13 用于向 HBase 提供 RESTful HTTP 终端节点的服务。
hbase-thrift-server 1.4.13 用于向 HBase 提供 Thrift 终端节点的服务。
hcatalog-client 2.3.6-amzn-2 用于操作 hcatalog-server 的“hcat”命令行客户端。
hcatalog-server 2.3.6-amzn-2 用于为分布式应用程序提供 HCatalog、表和存储管理层的服务。
hcatalog-webhcat-server 2.3.6-amzn-2 用于向 HCatalog 提供 REST 接口的 HTTP 终端节点。
hive-client 2.3.6-amzn-2 Hive 命令行客户端。
hive-hbase 2.3.6-amzn-2 Hive-hbase 客户端。
hive-metastore-server 2.3.6-amzn-2 用于访问 Hive 元存储 (一个用于存储 Hadoop 操作中的 SQL 的元数据的语义存储库) 的服务。
hive-server2 2.3.6-amzn-2 用于将 Hive 查询作为 Web 请求接受的服务。
hudi 0.5.2-incubating 增量处理框架,以支持低延迟和高效率的数据管道。
hudi-presto 0.5.2-incubating 用于运行 Presto 以及 Hudl 的捆绑库。
hue-server 4.6.0 用于使用 Hadoop 生态系统应用程序分析数据的 Web 应用程序
jupyterhub 1.1.0 Jupyter 笔记本的多用户服务器
livy-server 0.7.0-incubating 用于与 Apache Spark 交互的 REST 接口
nginx 1.12.1 nginx [引擎 x] 是 HTTP 和反向代理服务器
mahout-client 0.13.0 用于机器学习的库。
mxnet 1.5.1 用于深度学习的灵活的、可扩展且高效的库。
mariadb-server 5.5.64 MySQL 数据库服务器。
nvidia-cuda 9.2.88 Nvidia 驱动程序和 Cuda 工具包
oozie-client 5.2.0 Oozie 命令行客户端。
oozie-server 5.2.0 用于接受 Oozie 工作流请求的服务。
opencv 3.4.0 开源计算机视觉库。
phoenix-library 4.14.3-HBase-1.4 服务器和客户端的 phoenix 库
phoenix-query-server 4.14.3-HBase-1.4 向 Avatica API 提供 JDBC 访问权限以及协议缓冲区和 JSON 格式访问权限的轻量级服务器
presto-coordinator 0.232 用于在 presto-worker 之中接受查询并管理查询的服务。
presto-worker 0.232 用于执行查询的各个部分的服务。
presto-client 0.232 Presto 命令行客户端,安装在 HA 集群的备用主服务器(未启动 Presto 服务器)上。
pig-client 0.17.0 Pig 命令行客户端。
r 3.4.3 用于统计计算的 R 项目
ranger-kms-server 1.2.0 Apache Ranger 密钥管理系统
spark-client 2.4.5-amzn-0 Spark 命令行客户端。
spark-history-server 2.4.5-amzn-0 用于查看完整的 Spark 应用程序的生命周期的已记录事件的 Web UI。
spark-on-yarn 2.4.5-amzn-0 适用于 YARN 的内存中执行引擎。
spark-yarn-slave 2.4.5-amzn-0 YARN 从属项所需的 Apache Spark 库。
sqoop-client 1.4.7 Apache Sqoop 命令行客户端。
tensorflow 1.14.0 适用于高性能数值计算的 TensorFlow 开源软件库。
tez-on-yarn 0.9.2 tez YARN 应用程序和库。
webserver 2.4.25+ Apache HTTP 服务器。
zeppelin-server 0.8.2 支持交互式数据分析的基于 Web 的笔记本电脑。
zookeeper-server 3.4.14 用于维护配置信息、命名、提供分布式同步以及提供组服务的集中式服务。
zookeeper-client 3.4.14 ZooKeeper 命令行客户端。

发行版 5.30.1 配置分类

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

emr-5.30.1 分类
分类 说明

capacity-scheduler

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

container-log4j

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

core-site

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

emrfs-site

更改 EMRFS 设置。

flink-conf

更改 flink-conf.yaml 设置。

flink-log4j

更改 Flink log4j.properties 设置。

flink-log4j-yarn-session

更改 Flink log4j-yarn-session.properties 设置。

flink-log4j-cli

更改 Flink log4j-cli.properties 设置。

hadoop-env

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

hadoop-log4j

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

hadoop-ssl-server

更改 hadoop ssl 服务器配置

hadoop-ssl-client

更改 hadoop ssl 客户端配置

hbase

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

hbase-env

更改 HBase 环境中的值。

hbase-log4j

更改 HBase 的 hbase-log4j.properties 文件中的值。

hbase-metrics

更改 HBase 的 hadoop-metrics2-hbase.properties 文件中的值。

hbase-policy

更改 HBase 的 hbase-policy.xml 文件中的值。

hbase-site

更改 HBase 的 hbase-site.xml 文件中的值。

hdfs-encryption-zones

配置 HDFS 加密区域。

hdfs-site

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

hcatalog-env

更改 HCatalog 的环境中的值。

hcatalog-server-jndi

更改 HCatalog 的 jndi.properties 中的值。

hcatalog-server-proto-hive-site

更改 HCatalog 的 proto-hive-site.xml 中的值。

hcatalog-webhcat-env

更改 HCatalog WebHCat 的环境中的值。

hcatalog-webhcat-log4j2

更改 HCatalog WebHCat 的 log4j2.properties 中的值。

hcatalog-webhcat-site

更改 HCatalog WebHCat 的 webhcat-site.xml 文件中的值。

hive-beeline-log4j2

更改 Hive 的 beeline-log4j2.properties 文件中的值。

hive-parquet-logging

更改 Hive parquet-logging.properties 文件中的值。

hive-env

更改 Hive 环境中的值。

hive-exec-log4j2

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

hive-llap-daemon-log4j2

更改 Hive 的 llap-daemon-log4j2.properties 文件中的值。

hive-log4j2

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

hive-site

更改 Hive 的 hive-site.xml 文件中的值

hiveserver2-site

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

hudi-env

更改 HDFS 环境中的值。

jupyter-notebook-conf

更改 Jupyter Notebook 的 jupyter_notebook_config.py 文件中的值。

jupyter-hub-conf

更改 JupyterHubs 的 jupyterhub_config.py 文件中的值。

jupyter-s3-conf

配置 Jupyter Notebook S3 持久性。

jupyter-sparkmagic-conf

更改 Sparkmagic 的 config.json 文件中的值。

livy-conf

更改 Livy 的 livy.conf 文件中的值。

livy-env

更改 Livy 环境中的值。

livy-log4j

更改 Livy log4j.properties 设置。

mapred-env

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

mapred-site

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

oozie-env

更改 Oozie 的环境中的值。

oozie-log4j

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

oozie-site

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

phoenix-hbase-metrics

更改 Phoenix 的 hadoop-metrics2-hbase.properties 文件中的值。

phoenix-hbase-site

更改 Phoenix 的 hbase-site.xml 文件中的值。

phoenix-log4j

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

phoenix-metrics

更改 Phoenix 的 hadoop-metrics2-phoenix.properties 文件中的值。

pig-env

更改 Pig 环境中的值。

pig-properties

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

pig-log4j

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

presto-log

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

presto-config

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

presto-password-authenticator

更改 Presto 的 password-authenticator.properties 文件中的值。

presto-env

更改 Presto 的 presto-env.sh 文件中的值。

presto-node

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

presto-connector-blackhole

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

presto-connector-cassandra

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

presto-connector-hive

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

presto-connector-jmx

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

presto-connector-kafka

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

presto-connector-localfile

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

presto-connector-memory

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

presto-connector-mongodb

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

presto-connector-mysql

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

presto-connector-postgresql

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

presto-connector-raptor

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

presto-connector-redis

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

presto-connector-redshift

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

presto-connector-tpch

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

presto-connector-tpcds

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

ranger-kms-dbks-site

更改 Ranger KMS 的 dbks-site.xml 文件中的值。

ranger-kms-site

更改 Ranger KMS 的 ranger-kms-site.xml 文件中的值。

ranger-kms-env

更改 Ranger KMS 环境中的值。

ranger-kms-log4j

更改 Ranger KMS 的 kms-log4j.properties 文件中的值。

ranger-kms-db-ca

更改 S3 上用于与 Ranger KMS 进行 MySQL SSL 连接的 CA 文件的值。

recordserver-env

更改 EMR RecordServer 环境中的值。

recordserver-conf

更改 EMR RecordServer erver.properties 文件中的值。

recordserver-log4j

更改 EMR RecordServer log4j.properties 文件中的值。

spark

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

spark-defaults

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

spark-env

更改 Spark 环境中的值。

spark-hive-site

更改 Spark 的 hive-site.xml 文件中的值

spark-log4j

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

spark-metrics

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

sqoop-env

更改 Sqoop 的环境中的值。

sqoop-oraoop-site

更改 Sqoop OraOop 的 oraoop-site.xml 文件中的值。

sqoop-site

更改 Sqoop 的 sqoop-site.xml 文件中的值。

tez-site

更改 Tez 的 tez-site.xml 文件中的值。

yarn-env

更改 YARN 环境中的值。

yarn-site

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

zeppelin-env

更改 Zeppelin 环境中的值。

zookeeper-config

更改 ZooKeeper 的 zoo.cfg 文件中的值。

zookeeper-log4j

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

Amazon EMR 5.30.0

发行版 5.30.0 应用程序版本

此版本支持以下应用程序:FlinkGangliaHadoopHBaseHCatalogHiveHueJupyterHubLivyMahoutMXNetOoziePhoenixPigPrestoSparkSqoopTensorFlowTezZeppelin, 和ZooKeeper

下图描述了此版本的中提供的应用程序版本以及前四个 Amazon EMR 发布版本中的应用程序版本。

有关每个 Amazon EMR 版本的的全面历史记录,请参见下面的示意图:

发行版 5.30.0 发布说明

以下发布说明包括有关 Amazon EMR 发布版本 5.30.0 的信息。更改是相对于 5.29.0 而言。

首次发布日期:2020 年 5 月 13 日

上次更新日期:2020 年 6 月 25 日

Upgrades

  • 已将 Amazon SDK for Java 升级到版本 1.11.759

  • 已将 Amazon SageMaker Spark SDK 升级到版本 1.3.0

  • 已将 EMR 记录服务器升级到版本 1.6.0

  • 已将 Flink 升级到版本 1.10.0

  • 已将 Ganglia 升级到版本 3.7.2

  • 已将 HBase 升级到版本 1.4.13

  • 已将 Hudi 升级到 0.5.2-incubating

  • 已将 Hue 升级到版本 4.6.0

  • 已将 JupyterHub 升级到版本 1.1.0

  • 已将升级 Livy 到版本 0.7.0-incubating

  • 已将 Oozie 升级到版本 5.2.0

  • 已将 Presto 升级到版本 0.232

  • 已将 Spark 升级到版本 2.4.5

  • 升级的连接器和驱动程序:Amazon Glue Connector 1.12.0;Amazon Kinesis Connector 3.5.0;EMR DynamoDB Connector 4.14.0

新功能

  • EMR 笔记本— 当与使用 5.30.0 创建的 EMR 集群结合使用时,EMR 笔记本内核在集群上运行。这可以提高笔记本的性能,并允许您安装和自定义内核。您还可以在集群主节点上安装 Python 库。有关更多信息,请参阅 。安装并使用内核和库中的EMR 管理指南

  • 托管调整— 使用 Amazon EMR 5.30.0 及更高版本,您可以启用 EMR 托管扩展,以根据工作负载自动增加或减少集群中实例或单元的数量。EMR 会持续评估集群指标,以便做出扩展决策,从而优化集群的成本和速度。有关更多信息,请参阅 。扩展群集资源中的Amazon EMR 管理指南

  • 加密存储在 Amazon S3 中的日志文件— 使用 Amazon EMR 版本 5.30.0 及更高版本,您可以使用Amazon KMS客户托管密钥。有关更多信息,请参阅 。加密存储在 Amazon S3 中的日志文件中的Amazon EMR 管理指南

  • Amazon Linux 2 支持— 在 EMR 版本 5.30.0 及更高版本中,EMR 使用 Amazon Linux 2 操作系统。新的自定义 AMI(Amazon 系统映像)必须基于 Amazon Linux 2 AMI。有关更多信息,请参阅使用自定义 AMI

  • 普雷斯托优雅自动秤— 使用 5.30.0 的 EMR 集群可以设置自动扩展超时时时段,以便 Presto 任务在其节点停用之前有时间完成运行。有关更多信息,请参阅 使用 Presto 自动扩展和优雅的退役

  • 使用新的分配策略选项创建队列实例— EMR 版本 5.12.1 及更高版本中提供新的分配策略选项。它提供了更快的集群配置、更准确的竞价分配和更少的竞价型实例中断。需要更新非默认 EMR 服务角色。请参阅配置实例队列

  • 系统停止和系统启动命令— 在 EMR 版本 5.30.0 及更高版本中,EMR 使用 Amazon Linux 2 操作系统。sudo systemctl stopsudo systemctl start命令重新启动服务。有关更多信息,请参阅 。如何在亚马逊 EMR 中重新启动服务?

更改、增强和已解决的问题

  • 默认情况下,EMR 版本 5.30.0 不安装 Ganglia。您可以在创建集群时明确选择 Ganglia 进行安装。

  • Spark 性能优化。

  • Presto 性能优化。

  • Python 3 是 5.30.0 版及更高版本的默认设置。

  • 用于私有子网中服务访问的默认托管安全组已使用新规则进行更新。如果使用自定义安全组进行服务访问,则必须包含与默认托管安全组相同的规则。有关更多信息,请参阅 。Amazon EMR 托管的针对服务访问(私有子网)的安全组。如果您对 Amazon EMR 使用自定义服务角色,则必须向ec2:describeSecurityGroups,以便 EMR 可以验证安全组是否已正确创建。如果您使用 EMR_DefaultRole,则此权限已包含在默认托管策略中。

已知问题

  • 较早的 AL2 上的 “最大打开文件” 限制较低。 亚马逊 EMR 版本:EMR 5.30.x、EMR-5.31.0、EMR-5.32.0、EMR-6.0.0、EMR-6.1.0 和 EMR-6.2.0 基于旧版本的 OFAMZON Linux 2 (AL2),当使用默认 AMI 创建 EMR 集群时,这些版本的下限设置为 “最大打开文件”。提交 Spark 作业时,打开的文件下限会导致 “打开的文件过多” 错误。在受影响的 EMR 版本中,亚马逊 EMR 默认 AMI 对于 “最大打开文件” 的默认限制设置为 4096,低于最新亚马逊 Linux 2 AMI 中的 65536 文件限制。当 Spark 驱动程序和执行程序尝试打开超过 4096 个文件时,“最大打开文件” 的下限设置会导致 Spark 作业失败。要修复此问题,Amazon EMR 有一个引导操作 (BA) 脚本,用于在创建集群时调整 ulimit 设置。亚马逊 EMR 6.3.0 和 5.33.0 版将包括一个具有更高 “最大打开文件” 设置的永久修复程序。

    此问题的以下解决方法允许您显式将实例控制器 ulimit 设置为最多 65536 文件。

    从命令行显式设置 ulimit

    1. 编辑/etc/systemd/system/instance-controller.service将以下参数添加到服务部分。

      LimitNOFILE=65536

      LimitNPROC=65536

    2. 重启实例 Controller

      $ sudo systemctl daemon-reload

      $ sudo systemctl restart instance-controller

    使用引导操作设置 u限制 (BA)

    您还可以使用引导操作 (BA) 脚本在群集创建时将实例控制器 ulimit 配置为 65536 个文件。

    #!/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
  • 托管调整

    在未安装 Presto 的 5.30.0 和 5.30.1 群集上进行托管扩展操作可能会导致应用程序故障或导致统一的实例组或实例队列保留在ARRESTED状态,特别是当缩小操作之后快速执行向上扩展操作时。

    作为一种解决方法,即使您的作业不需要 Presto,也可以在创建集群时选择 Presto 作为要安装的应用程序。

  • 具有多个主节点和 Kerberos 身份验证的群集中的已知问题

    如果在 EMR 5.20.0 版及更高版本中运行具有多个主节点和 Kerberos 身份验证的群集,则在群集运行一段时间后,您可能会遇到群集操作(如缩小或步骤提交)的问题。时间段取决于您定义的 Kerberos 票证有效期。缩小问题会影响您提交的自动缩小和显式缩小请求。其他群集操作也可能受到影响。

    解决办法:

    • SSH 作为hadoop用户连接到具有多个主节点的 EMR 群集的领导主节点。

    • 运行以下命令来续订hadoop用户。

      kinit -kt <keytab_file> <principal>

      通常情况下,密钥表文件位于/etc/hadoop.keytab和本金采用格式hadoop/<hostname>@<REALM>

    注意

    此替代方法将在 Kerberos 票证有效的时间段内生效。默认情况下,此持续时间为 10 小时,但可以通过 Kerberos 设置进行配置。一旦 Kerberos 票证过期,您必须重新运行上述命令。

  • Hue 4.6.0 的默认数据库引擎是 SQLite,当您尝试将 Hue 与外部数据库一起使用时,会导致问题。要解决此问题,请将engine在您的hue-ini配置分类到mysql。此问题已在 Amazon EMR 5.30.1 版中得到修复。

发行版 5.30.0 组件版本

组件 Version 说明
aws-sagemaker-spark-sdk 1.3.0 Amazon SageMaker Spark 开发工具包
emr-ddb 4.14.0 适用于 Hadoop 生态系统应用程序的 Amazon DynamoDB 连接器。
emr-goodies 2.13.0 适用于 Hadoop 生态系统的方便易用的库。
emr-kinesis 3.5.0 适用于 Hadoop 生态系统应用程序的 Amazon Kinesis 连接器。
emr-notebook-env 1.0.0 适用于emr notebook 的 Conda env
emr-s3-dist-cp emrfs 针对 Amazon S3 优化的分布式复制应用程序。
emr-s3-select 1.5.0 EMR S3 Select 连接器
emrfs 2.40.0 适用于 Hadoop 生态系统应用程序的 Amazon S3 连接器。
flink-client 1.10.0 Apache Flink 命令行客户端脚本和应用程序。
ganglia-monitor 3.7.2 适用于 Hadoop 生态系统应用程序的嵌入式 Ganglia 代理以及 Ganglia 监控代理。
ganglia-metadata-collector 3.7.2 用于从 Ganglia 监控代理中聚合指标的 Ganglia 元数据收集器。
ganglia-web 3.7.1 用于查看由 Ganglia 元数据收集器收集的指标的 Web 应用程序。
hadoop-client 2.8.5-amzn-6 Hadoop 命令行客户端,如“hdfs”、“hadoop”或“yarn”。
hadoop-hdfs-datanode 2.8.5-amzn-6 用于存储数据块的 HDFS 节点级服务。
hadoop-hdfs-library 2.8.5-amzn-6 HDFS 命令行客户端和库
hadoop-hdfs-namenode 2.8.5-amzn-6 用于跟踪文件名和数据块位置的 HDFS 服务。
hadoop-hdfs-journalnode 2.8.5-amzn-6 用于管理 HA 集群上的 Hadoop 文件系统日志的 HDFS 服务。
hadoop-httpfs-server 2.8.5-amzn-6 用于 HDFS 操作的 HTTP 终端节点。
hadoop-kms-server 2.8.5-amzn-6 基于 Hadoop 的 KeyProvider API 的加密密钥管理服务器。
hadoop-mapred 2.8.5-amzn-6 用于运行 MapReduce 应用程序的 MapReduce 执行引擎库。
hadoop-yarn-nodemanager 2.8.5-amzn-6 用于管理单个节点上的容器的 YARN 服务。
hadoop-yarn-resourcemanager 2.8.5-amzn-6 用于分配和管理群集资源与分布式应用程序的 YARN 服务。
hadoop-yarn-timeline-server 2.8.5-amzn-6 用于检索 YARN 应用程序的当前信息和历史信息的服务。
hbase-hmaster 1.4.13 适用于负责协调区域和执行管理命令的 HBase 集群的服务。
hbase-region-server 1.4.13 用于服务于一个或多个 HBase 区域的服务。
hbase-client 1.4.13 HBase 命令行客户端。
hbase-rest-server 1.4.13 用于向 HBase 提供 RESTful HTTP 终端节点的服务。
hbase-thrift-server 1.4.13 用于向 HBase 提供 Thrift 终端节点的服务。
hcatalog-client 2.3.6-amzn-2 用于操作 hcatalog-server 的“hcat”命令行客户端。
hcatalog-server 2.3.6-amzn-2 用于为分布式应用程序提供 HCatalog、表和存储管理层的服务。
hcatalog-webhcat-server 2.3.6-amzn-2 用于向 HCatalog 提供 REST 接口的 HTTP 终端节点。
hive-client 2.3.6-amzn-2 Hive 命令行客户端。
hive-hbase 2.3.6-amzn-2 Hive-hbase 客户端。
hive-metastore-server 2.3.6-amzn-2 用于访问 Hive 元存储 (一个用于存储 Hadoop 操作中的 SQL 的元数据的语义存储库) 的服务。
hive-server2 2.3.6-amzn-2 用于将 Hive 查询作为 Web 请求接受的服务。
hudi 0.5.2-incubating 增量处理框架,以支持低延迟和高效率的数据管道。
hudi-presto 0.5.2-incubating 用于运行 Presto 以及 Hudl 的捆绑库。
hue-server 4.6.0 用于使用 Hadoop 生态系统应用程序分析数据的 Web 应用程序
jupyterhub 1.1.0 Jupyter 笔记本的多用户服务器
livy-server 0.7.0-incubating 用于与 Apache Spark 交互的 REST 接口
nginx 1.12.1 nginx [引擎 x] 是 HTTP 和反向代理服务器
mahout-client 0.13.0 用于机器学习的库。
mxnet 1.5.1 用于深度学习的灵活的、可扩展且高效的库。
mariadb-server 5.5.64 MySQL 数据库服务器。
nvidia-cuda 9.2.88 Nvidia 驱动程序和 Cuda 工具包
oozie-client 5.2.0 Oozie 命令行客户端。
oozie-server 5.2.0 用于接受 Oozie 工作流请求的服务。
opencv 3.4.0 开源计算机视觉库。
phoenix-library 4.14.3-HBase-1.4 服务器和客户端的 phoenix 库
phoenix-query-server 4.14.3-HBase-1.4 向 Avatica API 提供 JDBC 访问权限以及协议缓冲区和 JSON 格式访问权限的轻量级服务器
presto-coordinator 0.232 用于在 presto-worker 之中接受查询并管理查询的服务。
presto-worker 0.232 用于执行查询的各个部分的服务。
presto-client 0.232 Presto 命令行客户端,安装在 HA 集群的备用主服务器(未启动 Presto 服务器)上。
pig-client 0.17.0 Pig 命令行客户端。
r 3.4.3 用于统计计算的 R 项目
ranger-kms-server 1.2.0 Apache Ranger 密钥管理系统
spark-client 2.4.5-amzn-0 Spark 命令行客户端。
spark-history-server 2.4.5-amzn-0 用于查看完整的 Spark 应用程序的生命周期的已记录事件的 Web UI。
spark-on-yarn 2.4.5-amzn-0 适用于 YARN 的内存中执行引擎。
spark-yarn-slave 2.4.5-amzn-0 YARN 从属项所需的 Apache Spark 库。
sqoop-client 1.4.7 Apache Sqoop 命令行客户端。
tensorflow 1.14.0 适用于高性能数值计算的 TensorFlow 开源软件库。
tez-on-yarn 0.9.2 tez YARN 应用程序和库。
webserver 2.4.25+ Apache HTTP 服务器。
zeppelin-server 0.8.2 支持交互式数据分析的基于 Web 的笔记本电脑。
zookeeper-server 3.4.14 用于维护配置信息、命名、提供分布式同步以及提供组服务的集中式服务。
zookeeper-client 3.4.14 ZooKeeper 命令行客户端。

发行版 5.30.0 配置分类

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

emr-5.30.0 分类
分类 说明

capacity-scheduler

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

container-log4j

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

core-site

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

emrfs-site

更改 EMRFS 设置。

flink-conf

更改 flink-conf.yaml 设置。

flink-log4j

更改 Flink log4j.properties 设置。

flink-log4j-yarn-session

更改 Flink log4j-yarn-session.properties 设置。

flink-log4j-cli

更改 Flink log4j-cli.properties 设置。

hadoop-env

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

hadoop-log4j

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

hadoop-ssl-server

更改 hadoop ssl 服务器配置

hadoop-ssl-client

更改 hadoop ssl 客户端配置

hbase

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

hbase-env

更改 HBase 环境中的值。

hbase-log4j

更改 HBase 的 hbase-log4j.properties 文件中的值。

hbase-metrics

更改 HBase 的 hadoop-metrics2-hbase.properties 文件中的值。

hbase-policy

更改 HBase 的 hbase-policy.xml 文件中的值。

hbase-site

更改 HBase 的 hbase-site.xml 文件中的值。

hdfs-encryption-zones

配置 HDFS 加密区域。

hdfs-site

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

hcatalog-env

更改 HCatalog 的环境中的值。

hcatalog-server-jndi

更改 HCatalog 的 jndi.properties 中的值。

hcatalog-server-proto-hive-site

更改 HCatalog 的 proto-hive-site.xml 中的值。

hcatalog-webhcat-env

更改 HCatalog WebHCat 的环境中的值。

hcatalog-webhcat-log4j2

更改 HCatalog WebHCat 的 log4j2.properties 中的值。

hcatalog-webhcat-site

更改 HCatalog WebHCat 的 webhcat-site.xml 文件中的值。

hive-beeline-log4j2

更改 Hive 的 beeline-log4j2.properties 文件中的值。

hive-parquet-logging

更改 Hive parquet-logging.properties 文件中的值。

hive-env

更改 Hive 环境中的值。

hive-exec-log4j2

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

hive-llap-daemon-log4j2

更改 Hive 的 llap-daemon-log4j2.properties 文件中的值。

hive-log4j2

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

hive-site

更改 Hive 的 hive-site.xml 文件中的值

hiveserver2-site

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

hudi-env

更改 HDFS 环境中的值。

jupyter-notebook-conf

更改 Jupyter Notebook 的 jupyter_notebook_config.py 文件中的值。

jupyter-hub-conf

更改 JupyterHubs 的 jupyterhub_config.py 文件中的值。

jupyter-s3-conf

配置 Jupyter Notebook S3 持久性。

jupyter-sparkmagic-conf

更改 Sparkmagic 的 config.json 文件中的值。

livy-conf

更改 Livy 的 livy.conf 文件中的值。

livy-env

更改 Livy 环境中的值。

livy-log4j

更改 Livy log4j.properties 设置。

mapred-env

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

mapred-site

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

oozie-env

更改 Oozie 的环境中的值。

oozie-log4j

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

oozie-site

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

phoenix-hbase-metrics

更改 Phoenix 的 hadoop-metrics2-hbase.properties 文件中的值。

phoenix-hbase-site

更改 Phoenix 的 hbase-site.xml 文件中的值。

phoenix-log4j

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

phoenix-metrics

更改 Phoenix 的 hadoop-metrics2-phoenix.properties 文件中的值。

pig-env

更改 Pig 环境中的值。

pig-properties

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

pig-log4j

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

presto-log

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

presto-config

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

presto-password-authenticator

更改 Presto 的 password-authenticator.properties 文件中的值。

presto-env

更改 Presto 的 presto-env.sh 文件中的值。

presto-node

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

presto-connector-blackhole

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

presto-connector-cassandra

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

presto-connector-hive

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

presto-connector-jmx

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

presto-connector-kafka

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

presto-connector-localfile

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

presto-connector-memory

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

presto-connector-mongodb

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

presto-connector-mysql

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

presto-connector-postgresql

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

presto-connector-raptor

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

presto-connector-redis

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

presto-connector-redshift

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

presto-connector-tpch

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

presto-connector-tpcds

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

ranger-kms-dbks-site

更改 Ranger KMS 的 dbks-site.xml 文件中的值。

ranger-kms-site

更改 Ranger KMS 的 ranger-kms-site.xml 文件中的值。

ranger-kms-env

更改 Ranger KMS 环境中的值。

ranger-kms-log4j

更改 Ranger KMS 的 kms-log4j.properties 文件中的值。

ranger-kms-db-ca

更改 S3 上用于与 Ranger KMS 进行 MySQL SSL 连接的 CA 文件的值。

recordserver-env

更改 EMR RecordServer 环境中的值。

recordserver-conf

更改 EMR RecordServer erver.properties 文件中的值。

recordserver-log4j

更改 EMR RecordServer log4j.properties 文件中的值。

spark

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

spark-defaults

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

spark-env

更改 Spark 环境中的值。

spark-hive-site

更改 Spark 的 hive-site.xml 文件中的值

spark-log4j

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

spark-metrics

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

sqoop-env

更改 Sqoop 的环境中的值。

sqoop-oraoop-site

更改 Sqoop OraOop 的 oraoop-site.xml 文件中的值。

sqoop-site

更改 Sqoop 的 sqoop-site.xml 文件中的值。

tez-site

更改 Tez 的 tez-site.xml 文件中的值。

yarn-env

更改 YARN 环境中的值。

yarn-site

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

zeppelin-env

更改 Zeppelin 环境中的值。

zookeeper-config

更改 ZooKeeper 的 zoo.cfg 文件中的值。

zookeeper-log4j

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

5.29.0

5.29.0 应用程序版本

此版本支持以下应用程序:FlinkGangliaHadoopHBaseHCatalogHiveHueJupyterHubLivyMahoutMXNetOoziePhoenixPigPrestoSparkSqoopTensorFlowTezZeppelin, 和ZooKeeper

下图描述了此版本的中提供的应用程序版本以及前四个 Amazon EMR 发布版本中的应用程序版本。

有关每个 Amazon EMR 版本的的全面历史记录,请参见下面的示意图:

5.29.0 发布说明

以下发布说明包括有关 Amazon EMR 发布版本 5.29.0 的信息。所述更改是相对于 5.28.1 而言的。

首次发布日期:2020 年 1 月 17 日

Upgrades

  • 已将升级到版本 1.11.682

  • 已将 Hive 升级到版本 2.3.6

  • 已将 Flink 升级到版本 1.9.1

  • 已将 EmrFS 升级到版本 2.38.0

  • EMR DynamoDB 连接器升级到版本 4.13.0

更改、增强和已解决的问题

  • Spark

    • Spark 性能优化。

  • EMRFS

    • 管理指南更新为 emrfs-site.xml 默认设置,以实现一致的视图。

已知问题

  • 具有多个主节点和 Kerberos 身份验证的群集中的已知问题

    如果在 EMR 5.20.0 版及更高版本中运行具有多个主节点和 Kerberos 身份验证的群集,则在群集运行一段时间后,您可能会遇到群集操作(如缩小或步骤提交)的问题。时间段取决于您定义的 Kerberos 票证有效期。缩小问题会影响您提交的自动缩小和显式缩小请求。其他群集操作也可能受到影响。

    解决办法:

    • SSH 作为hadoop用户连接到具有多个主节点的 EMR 群集的领导主节点。

    • 运行以下命令来续订hadoop用户。

      kinit -kt <keytab_file> <principal>

      通常情况下,密钥表文件位于/etc/hadoop.keytab和本金采用格式hadoop/<hostname>@<REALM>

    注意

    此替代方法将在 Kerberos 票证有效的时间段内生效。默认情况下,此持续时间为 10 小时,但可以通过 Kerberos 设置进行配置。一旦 Kerberos 票证过期,您必须重新运行上述命令。

5.29.0 组件版本

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

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

组件 Version 说明
aws-sagemaker-spark-sdk 1.2.6 Amazon SageMaker Spark 开发工具包
emr-ddb 4.13.0 适用于 Hadoop 生态系统应用程序的 Amazon DynamoDB 连接器。
emr-goodies 2.12.0 适用于 Hadoop 生态系统的方便易用的库。
emr-kinesis 3.4.0 适用于 Hadoop 生态系统应用程序的 Amazon Kinesis 连接器。
emr-s3-dist-cp 2.13.0 针对 Amazon S3 优化的分布式复制应用程序。
emr-s3-select 1.4.0 EMR S3 Select 连接器
emrfs 2.38.0 适用于 Hadoop 生态系统应用程序的 Amazon S3 连接器。
flink-client 1.9.1 Apache Flink 命令行客户端脚本和应用程序。
ganglia-monitor 3.7.2 适用于 Hadoop 生态系统应用程序的嵌入式 Ganglia 代理以及 Ganglia 监控代理。
ganglia-metadata-collector 3.7.2 用于从 Ganglia 监控代理中聚合指标的 Ganglia 元数据收集器。
ganglia-web 3.7.1 用于查看由 Ganglia 元数据收集器收集的指标的 Web 应用程序。
hadoop-client 2.8.5-amzn-5 Hadoop 命令行客户端,如“hdfs”、“hadoop”或“yarn”。
hadoop-hdfs-datanode 2.8.5-amzn-5 用于存储数据块的 HDFS 节点级服务。
hadoop-hdfs-library 2.8.5-amzn-5 HDFS 命令行客户端和库
hadoop-hdfs-namenode 2.8.5-amzn-5 用于跟踪文件名和数据块位置的 HDFS 服务。
hadoop-hdfs-journalnode 2.8.5-amzn-5 用于管理 HA 集群上的 Hadoop 文件系统日志的 HDFS 服务。
hadoop-httpfs-server 2.8.5-amzn-5 用于 HDFS 操作的 HTTP 终端节点。
hadoop-kms-server 2.8.5-amzn-5 基于 Hadoop 的 KeyProvider API 的加密密钥管理服务器。
hadoop-mapred 2.8.5-amzn-5 用于运行 MapReduce 应用程序的 MapReduce 执行引擎库。
hadoop-yarn-nodemanager 2.8.5-amzn-5 用于管理单个节点上的容器的 YARN 服务。
hadoop-yarn-resourcemanager 2.8.5-amzn-5 用于分配和管理群集资源与分布式应用程序的 YARN 服务。
hadoop-yarn-timeline-server 2.8.5-amzn-5 用于检索 YARN 应用程序的当前信息和历史信息的服务。
hbase-hmaster 1.4.10 适用于负责协调区域和执行管理命令的 HBase 集群的服务。
hbase-region-server 1.4.10 用于服务于一个或多个 HBase 区域的服务。
hbase-client 1.4.10 HBase 命令行客户端。
hbase-rest-server 1.4.10 用于向 HBase 提供 RESTful HTTP 终端节点的服务。
hbase-thrift-server 1.4.10 用于向 HBase 提供 Thrift 终端节点的服务。
hcatalog-client 2.3.6-amzn-1 用于操作 hcatalog-server 的“hcat”命令行客户端。
hcatalog-server 2.3.6-amzn-1 用于为分布式应用程序提供 HCatalog、表和存储管理层的服务。
hcatalog-webhcat-server 2.3.6-amzn-1 用于向 HCatalog 提供 REST 接口的 HTTP 终端节点。
hive-client 2.3.6-amzn-1 Hive 命令行客户端。
hive-hbase 2.3.6-amzn-1 Hive-hbase 客户端。
hive-metastore-server 2.3.6-amzn-1 用于访问 Hive 元存储 (一个用于存储 Hadoop 操作中的 SQL 的元数据的语义存储库) 的服务。
hive-server2 2.3.6-amzn-1 用于将 Hive 查询作为 Web 请求接受的服务。
hudi 0.5.0-incubating 增量处理框架,以支持低延迟和高效率的数据管道。
hudi-presto 0.5.0-incubating 用于运行 Presto 以及 Hudl 的捆绑库。
hue-server 4.4.0 用于使用 Hadoop 生态系统应用程序分析数据的 Web 应用程序
jupyterhub 1.0.0 Jupyter 笔记本的多用户服务器
livy-server 0.6.0-incubating 用于与 Apache Spark 交互的 REST 接口
nginx 1.12.1 nginx [引擎 x] 是 HTTP 和反向代理服务器
mahout-client 0.13.0 用于机器学习的库。
mxnet 1.5.1 用于深度学习的灵活的、可扩展且高效的库。
mysql-server 5.5.54+ MySQL 数据库服务器。
nvidia-cuda 9.2.88 Nvidia 驱动程序和 Cuda 工具包
oozie-client 5.1.0 Oozie 命令行客户端。
oozie-server 5.1.0 用于接受 Oozie 工作流请求的服务。
opencv 3.4.0 开源计算机视觉库。
phoenix-library 4.14.3-HBase-1.4 服务器和客户端的 phoenix 库
phoenix-query-server 4.14.3-HBase-1.4 向 Avatica API 提供 JDBC 访问权限以及协议缓冲区和 JSON 格式访问权限的轻量级服务器
presto-coordinator 0.227 用于在 presto-worker 之中接受查询并管理查询的服务。
presto-worker 0.227 用于执行查询的各个部分的服务。
presto-client 0.227 Presto 命令行客户端,安装在 HA 集群的备用主服务器(未启动 Presto 服务器)上。
pig-client 0.17.0 Pig 命令行客户端。
r 3.4.1 用于统计计算的 R 项目
spark-client 2.4.4 Spark 命令行客户端。
spark-history-server 2.4.4 用于查看完整的 Spark 应用程序的生命周期的已记录事件的 Web UI。
spark-on-yarn 2.4.4 适用于 YARN 的内存中执行引擎。
spark-yarn-slave 2.4.4 YARN 从属项所需的 Apache Spark 库。
sqoop-client 1.4.7 Apache Sqoop 命令行客户端。
tensorflow 1.14.0 适用于高性能数值计算的 TensorFlow 开源软件库。
tez-on-yarn 0.9.2 tez YARN 应用程序和库。
webserver 2.4.25+ Apache HTTP 服务器。
zeppelin-server 0.8.2 支持交互式数据分析的基于 Web 的笔记本电脑。
zookeeper-server 3.4.14 用于维护配置信息、命名、提供分布式同步以及提供组服务的集中式服务。
zookeeper-client 3.4.14 ZooKeeper 命令行客户端。

5.29.0 配置分类

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

emr-5.29.0 分类
分类 说明

capacity-scheduler

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

container-log4j

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

core-site

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

emrfs-site

更改 EMRFS 设置。

flink-conf

更改 flink-conf.yaml 设置。

flink-log4j

更改 Flink log4j.properties 设置。

flink-log4j-yarn-session

更改 Flink log4j-yarn-session.properties 设置。

flink-log4j-cli

更改 Flink log4j-cli.properties 设置。

hadoop-env

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

hadoop-log4j

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

hadoop-ssl-server

更改 hadoop ssl 服务器配置

hadoop-ssl-client

更改 hadoop ssl 客户端配置

hbase

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

hbase-env

更改 HBase 环境中的值。

hbase-log4j

更改 HBase 的 hbase-log4j.properties 文件中的值。

hbase-metrics

更改 HBase 的 hadoop-metrics2-hbase.properties 文件中的值。

hbase-policy

更改 HBase 的 hbase-policy.xml 文件中的值。

hbase-site

更改 HBase 的 hbase-site.xml 文件中的值。

hdfs-encryption-zones

配置 HDFS 加密区域。

hdfs-site

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

hcatalog-env

更改 HCatalog 的环境中的值。

hcatalog-server-jndi

更改 HCatalog 的 jndi.properties 中的值。

hcatalog-server-proto-hive-site

更改 HCatalog 的 proto-hive-site.xml 中的值。

hcatalog-webhcat-env

更改 HCatalog WebHCat 的环境中的值。

hcatalog-webhcat-log4j2

更改 HCatalog WebHCat 的 log4j2.properties 中的值。

hcatalog-webhcat-site

更改 HCatalog WebHCat 的 webhcat-site.xml 文件中的值。

hive-beeline-log4j2

更改 Hive 的 beeline-log4j2.properties 文件中的值。

hive-parquet-logging

更改 Hive parquet-logging.properties 文件中的值。

hive-env

更改 Hive 环境中的值。

hive-exec-log4j2

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

hive-llap-daemon-log4j2

更改 Hive 的 llap-daemon-log4j2.properties 文件中的值。

hive-log4j2

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

hive-site

更改 Hive 的 hive-site.xml 文件中的值

hiveserver2-site

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

jupyter-notebook-conf

更改 Jupyter Notebook 的 jupyter_notebook_config.py 文件中的值。

jupyter-hub-conf

更改 JupyterHubs 的 jupyterhub_config.py 文件中的值。

jupyter-s3-conf

配置 Jupyter Notebook S3 持久性。

jupyter-sparkmagic-conf

更改 Sparkmagic 的 config.json 文件中的值。

livy-conf

更改 Livy 的 livy.conf 文件中的值。

livy-env

更改 Livy 环境中的值。

livy-log4j

更改 Livy log4j.properties 设置。

mapred-env

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

mapred-site

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

oozie-env

更改 Oozie 的环境中的值。

oozie-log4j

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

oozie-site

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

phoenix-hbase-metrics

更改 Phoenix 的 hadoop-metrics2-hbase.properties 文件中的值。

phoenix-hbase-site

更改 Phoenix 的 hbase-site.xml 文件中的值。

phoenix-log4j

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

phoenix-metrics

更改 Phoenix 的 hadoop-metrics2-phoenix.properties 文件中的值。

pig-env

更改 Pig 环境中的值。

pig-properties

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

pig-log4j

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

presto-log

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

presto-config

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

presto-password-authenticator

更改 Presto 的 password-authenticator.properties 文件中的值。

presto-env

更改 Presto 的 presto-env.sh 文件中的值。

presto-node

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

presto-connector-blackhole

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

presto-connector-cassandra

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

presto-connector-hive

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

presto-connector-jmx

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

presto-connector-kafka

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

presto-connector-localfile

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

presto-connector-memory

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

presto-connector-mongodb

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

presto-connector-mysql

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

presto-connector-postgresql

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

presto-connector-raptor

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

presto-connector-redis

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

presto-connector-redshift

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

presto-connector-tpch

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

presto-connector-tpcds

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

ranger-kms-dbks-site

更改 Ranger KMS 的 dbks-site.xml 文件中的值。

ranger-kms-site

更改 Ranger KMS 的 ranger-kms-site.xml 文件中的值。

ranger-kms-env

更改 Ranger KMS 环境中的值。

ranger-kms-log4j

更改 Ranger KMS 的 kms-log4j.properties 文件中的值。

ranger-kms-db-ca

更改 S3 上用于与 Ranger KMS 进行 MySQL SSL 连接的 CA 文件的值。

recordserver-env

更改 EMR RecordServer 环境中的值。

recordserver-conf

更改 EMR RecordServer erver.properties 文件中的值。

recordserver-log4j

更改 EMR RecordServer log4j.properties 文件中的值。

spark

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

spark-defaults

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

spark-env

更改 Spark 环境中的值。

spark-hive-site

更改 Spark 的 hive-site.xml 文件中的值

spark-log4j

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

spark-metrics

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

sqoop-env

更改 Sqoop 的环境中的值。

sqoop-oraoop-site

更改 Sqoop OraOop 的 oraoop-site.xml 文件中的值。

sqoop-site

更改 Sqoop 的 sqoop-site.xml 文件中的值。

tez-site

更改 Tez 的 tez-site.xml 文件中的值。

yarn-env

更改 YARN 环境中的值。

yarn-site

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

zeppelin-env

更改 Zeppelin 环境中的值。

zookeeper-config

更改 ZooKeeper 的 zoo.cfg 文件中的值。

zookeeper-log4j

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

5.28.x

5.28 系列中有多个版本。选择下方的链接以在此选项卡内查看特定发布版本的信息。

5.28.1 (最新)| 5.28.0

Amazon EMR 5.28.1

发行版 5.28.1 应用程序版本

此版本支持以下应用程序:FlinkGangliaHadoopHBaseHCatalogHiveHueJupyterHubLivyMahoutMXNetOoziePhoenixPigPrestoSparkSqoopTensorFlowTezZeppelin, 和ZooKeeper

下图描述了此版本的中提供的应用程序版本以及前四个 Amazon EMR 发布版本中的应用程序版本。

有关每个 Amazon EMR 版本的的全面历史记录,请参见下面的示意图:

发行版 5.28.1 发布说明

以下发布说明包括有关 Amazon EMR 发布版本 5.28.1 的信息。更改是相对于 5.28.0 而言。

首次发布日期:2020 年 1 月 10 日

更改、增强和已解决的问题

  • Spark

    • 修复了 Spark 兼容性问题。

  • CloudWatch 指标

    • 修复了在具有多个主节点的 EMR 集群上发布的 Amazon CloudWatch Metrics。

  • 已禁用日志消息

    • 已禁用假日志消息 “... 使用旧版本的 Apache http 客户端 (<4.5.8)。”

已知问题

  • 具有多个主节点和 Kerberos 身份验证的群集中的已知问题

    如果在 EMR 5.20.0 版及更高版本中运行具有多个主节点和 Kerberos 身份验证的群集,则在群集运行一段时间后,您可能会遇到群集操作(如缩小或步骤提交)的问题。时间段取决于您定义的 Kerberos 票证有效期。缩小问题会影响您提交的自动缩小和显式缩小请求。其他群集操作也可能受到影响。

    解决办法:

    • SSH 作为hadoop用户连接到具有多个主节点的 EMR 群集的领导主节点。

    • 运行以下命令来续订hadoop用户。

      kinit -kt <keytab_file> <principal>

      通常情况下,密钥表文件位于/etc/hadoop.keytab和本金采用格式hadoop/<hostname>@<REALM>

    注意

    此替代方法将在 Kerberos 票证有效的时间段内生效。默认情况下,此持续时间为 10 小时,但可以通过 Kerberos 设置进行配置。一旦 Kerberos 票证过期,您必须重新运行上述命令。

发行版 5.28.1 组件版本

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

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

组件 Version 说明
aws-sagemaker-spark-sdk 1.2.6 Amazon SageMaker Spark 开发工具包
emr-ddb 4.12.0 适用于 Hadoop 生态系统应用程序的 Amazon DynamoDB 连接器。
emr-goodies 2.11.0 适用于 Hadoop 生态系统的方便易用的库。
emr-kinesis 3.4.0 适用于 Hadoop 生态系统应用程序的 Amazon Kinesis 连接器。
emr-s3-dist-cp 2.13.0 针对 Amazon S3 优化的分布式复制应用程序。
emr-s3-select 1.3.0 EMR S3 Select 连接器
emrfs 2.37.0 适用于 Hadoop 生态系统应用程序的 Amazon S3 连接器。
flink-client 1.9.0 Apache Flink 命令行客户端脚本和应用程序。
ganglia-monitor 3.7.2 适用于 Hadoop 生态系统应用程序的嵌入式 Ganglia 代理以及 Ganglia 监控代理。
ganglia-metadata-collector 3.7.2 用于从 Ganglia 监控代理中聚合指标的 Ganglia 元数据收集器。
ganglia-web 3.7.1 用于查看由 Ganglia 元数据收集器收集的指标的 Web 应用程序。
hadoop-client 2.8.5-amzn-5 Hadoop 命令行客户端,如“hdfs”、“hadoop”或“yarn”。
hadoop-hdfs-datanode 2.8.5-amzn-5 用于存储数据块的 HDFS 节点级服务。
hadoop-hdfs-library 2.8.5-amzn-5 HDFS 命令行客户端和库
hadoop-hdfs-namenode 2.8.5-amzn-5 用于跟踪文件名和数据块位置的 HDFS 服务。
hadoop-hdfs-journalnode 2.8.5-amzn-5 用于管理 HA 集群上的 Hadoop 文件系统日志的 HDFS 服务。
hadoop-httpfs-server 2.8.5-amzn-5 用于 HDFS 操作的 HTTP 终端节点。
hadoop-kms-server 2.8.5-amzn-5 基于 Hadoop 的 KeyProvider API 的加密密钥管理服务器。
hadoop-mapred 2.8.5-amzn-5 用于运行 MapReduce 应用程序的 MapReduce 执行引擎库。
hadoop-yarn-nodemanager 2.8.5-amzn-5 用于管理单个节点上的容器的 YARN 服务。
hadoop-yarn-resourcemanager 2.8.5-amzn-5 用于分配和管理群集资源与分布式应用程序的 YARN 服务。
hadoop-yarn-timeline-server 2.8.5-amzn-5 用于检索 YARN 应用程序的当前信息和历史信息的服务。
hbase-hmaster 1.4.10 适用于负责协调区域和执行管理命令的 HBase 集群的服务。
hbase-region-server 1.4.10 用于服务于一个或多个 HBase 区域的服务。
hbase-client 1.4.10 HBase 命令行客户端。
hbase-rest-server 1.4.10 用于向 HBase 提供 RESTful HTTP 终端节点的服务。
hbase-thrift-server 1.4.10 用于向 HBase 提供 Thrift 终端节点的服务。
hcatalog-client 2.3.6-amzn-0 用于操作 hcatalog-server 的“hcat”命令行客户端。
hcatalog-server 2.3.6-amzn-0 用于为分布式应用程序提供 HCatalog、表和存储管理层的服务。
hcatalog-webhcat-server 2.3.6-amzn-0 用于向 HCatalog 提供 REST 接口的 HTTP 终端节点。
hive-client 2.3.6-amzn-0 Hive 命令行客户端。
hive-hbase 2.3.6-amzn-0 Hive-hbase 客户端。
hive-metastore-server 2.3.6-amzn-0 用于访问 Hive 元存储 (一个用于存储 Hadoop 操作中的 SQL 的元数据的语义存储库) 的服务。
hive-server2 2.3.6-amzn-0 用于将 Hive 查询作为 Web 请求接受的服务。
hudi 0.5.0-incubating 增量处理框架,以支持低延迟和高效率的数据管道。
hudi-presto 0.5.0-incubating 用于运行 Presto 以及 Hudl 的捆绑库。
hue-server 4.4.0 用于使用 Hadoop 生态系统应用程序分析数据的 Web 应用程序
jupyterhub 1.0.0 Jupyter 笔记本的多用户服务器
livy-server 0.6.0-incubating 用于与 Apache Spark 交互的 REST 接口
nginx 1.12.1 nginx [引擎 x] 是 HTTP 和反向代理服务器
mahout-client 0.13.0 用于机器学习的库。
mxnet 1.5.1 用于深度学习的灵活的、可扩展且高效的库。
mysql-server 5.5.54+ MySQL 数据库服务器。
nvidia-cuda 9.2.88 Nvidia 驱动程序和 Cuda 工具包
oozie-client 5.1.0 Oozie 命令行客户端。
oozie-server 5.1.0 用于接受 Oozie 工作流请求的服务。
opencv 3.4.0 开源计算机视觉库。
phoenix-library 4.14.3-HBase-1.4 服务器和客户端的 phoenix 库
phoenix-query-server 4.14.3-HBase-1.4 向 Avatica API 提供 JDBC 访问权限以及协议缓冲区和 JSON 格式访问权限的轻量级服务器
presto-coordinator 0.227 用于在 presto-worker 之中接受查询并管理查询的服务。
presto-worker 0.227 用于执行查询的各个部分的服务。
presto-client 0.227 Presto 命令行客户端,安装在 HA 集群的备用主服务器(未启动 Presto 服务器)上。
pig-client 0.17.0 Pig 命令行客户端。
r 3.4.1 用于统计计算的 R 项目
spark-client 2.4.4 Spark 命令行客户端。
spark-history-server 2.4.4 用于查看完整的 Spark 应用程序的生命周期的已记录事件的 Web UI。
spark-on-yarn 2.4.4 适用于 YARN 的内存中执行引擎。
spark-yarn-slave 2.4.4 YARN 从属项所需的 Apache Spark 库。
sqoop-client 1.4.7 Apache Sqoop 命令行客户端。
tensorflow 1.14.0 适用于高性能数值计算的 TensorFlow 开源软件库。
tez-on-yarn 0.9.2 tez YARN 应用程序和库。
webserver 2.4.25+ Apache HTTP 服务器。
zeppelin-server 0.8.2 支持交互式数据分析的基于 Web 的笔记本电脑。
zookeeper-server 3.4.14 用于维护配置信息、命名、提供分布式同步以及提供组服务的集中式服务。
zookeeper-client 3.4.14 ZooKeeper 命令行客户端。

发行版 5.28.1 配置分类

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

emr-5.28.1 分类
分类 说明

capacity-scheduler

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

container-log4j

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

core-site

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

emrfs-site

更改 EMRFS 设置。

flink-conf

更改 flink-conf.yaml 设置。

flink-log4j

更改 Flink log4j.properties 设置。

flink-log4j-yarn-session

更改 Flink log4j-yarn-session.properties 设置。

flink-log4j-cli

更改 Flink log4j-cli.properties 设置。

hadoop-env

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

hadoop-log4j

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

hadoop-ssl-server

更改 hadoop ssl 服务器配置

hadoop-ssl-client

更改 hadoop ssl 客户端配置

hbase

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

hbase-env

更改 HBase 环境中的值。

hbase-log4j

更改 HBase 的 hbase-log4j.properties 文件中的值。

hbase-metrics

更改 HBase 的 hadoop-metrics2-hbase.properties 文件中的值。

hbase-policy

更改 HBase 的 hbase-policy.xml 文件中的值。

hbase-site

更改 HBase 的 hbase-site.xml 文件中的值。

hdfs-encryption-zones

配置 HDFS 加密区域。

hdfs-site

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

hcatalog-env

更改 HCatalog 的环境中的值。

hcatalog-server-jndi

更改 HCatalog 的 jndi.properties 中的值。

hcatalog-server-proto-hive-site

更改 HCatalog 的 proto-hive-site.xml 中的值。

hcatalog-webhcat-env

更改 HCatalog WebHCat 的环境中的值。

hcatalog-webhcat-log4j2

更改 HCatalog WebHCat 的 log4j2.properties 中的值。

hcatalog-webhcat-site

更改 HCatalog WebHCat 的 webhcat-site.xml 文件中的值。

hive-beeline-log4j2

更改 Hive 的 beeline-log4j2.properties 文件中的值。

hive-parquet-logging

更改 Hive parquet-logging.properties 文件中的值。

hive-env

更改 Hive 环境中的值。

hive-exec-log4j2

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

hive-llap-daemon-log4j2

更改 Hive 的 llap-daemon-log4j2.properties 文件中的值。

hive-log4j2

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

hive-site

更改 Hive 的 hive-site.xml 文件中的值

hiveserver2-site

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

jupyter-notebook-conf

更改 Jupyter Notebook 的 jupyter_notebook_config.py 文件中的值。

jupyter-hub-conf

更改 JupyterHubs 的 jupyterhub_config.py 文件中的值。

jupyter-s3-conf

配置 Jupyter Notebook S3 持久性。

jupyter-sparkmagic-conf

更改 Sparkmagic 的 config.json 文件中的值。

livy-conf

更改 Livy 的 livy.conf 文件中的值。

livy-env

更改 Livy 环境中的值。

livy-log4j

更改 Livy log4j.properties 设置。

mapred-env

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

mapred-site

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

oozie-env

更改 Oozie 的环境中的值。

oozie-log4j

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

oozie-site

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

phoenix-hbase-metrics

更改 Phoenix 的 hadoop-metrics2-hbase.properties 文件中的值。

phoenix-hbase-site

更改 Phoenix 的 hbase-site.xml 文件中的值。

phoenix-log4j

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

phoenix-metrics

更改 Phoenix 的 hadoop-metrics2-phoenix.properties 文件中的值。

pig-env

更改 Pig 环境中的值。

pig-properties

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

pig-log4j

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

presto-log

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

presto-config

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

presto-password-authenticator

更改 Presto 的 password-authenticator.properties 文件中的值。

presto-env

更改 Presto 的 presto-env.sh 文件中的值。

presto-node

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

presto-connector-blackhole

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

presto-connector-cassandra

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

presto-connector-hive

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

presto-connector-jmx

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

presto-connector-kafka

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

presto-connector-localfile

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

presto-connector-memory

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

presto-connector-mongodb

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

presto-connector-mysql

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

presto-connector-postgresql

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

presto-connector-raptor

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

presto-connector-redis

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

presto-connector-redshift

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

presto-connector-tpch

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

presto-connector-tpcds

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

ranger-kms-dbks-site

更改 Ranger KMS 的 dbks-site.xml 文件中的值。

ranger-kms-site

更改 Ranger KMS 的 ranger-kms-site.xml 文件中的值。

ranger-kms-env

更改 Ranger KMS 环境中的值。

ranger-kms-log4j

更改 Ranger KMS 的 kms-log4j.properties 文件中的值。

ranger-kms-db-ca

更改 S3 上用于与 Ranger KMS 进行 MySQL SSL 连接的 CA 文件的值。

recordserver-env

更改 EMR RecordServer 环境中的值。

recordserver-conf

更改 EMR RecordServer erver.properties 文件中的值。

recordserver-log4j

更改 EMR RecordServer log4j.properties 文件中的值。

spark

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

spark-defaults

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

spark-env

更改 Spark 环境中的值。

spark-hive-site

更改 Spark 的 hive-site.xml 文件中的值

spark-log4j

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

spark-metrics

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

sqoop-env

更改 Sqoop 的环境中的值。

sqoop-oraoop-site

更改 Sqoop OraOop 的 oraoop-site.xml 文件中的值。

sqoop-site

更改 Sqoop 的 sqoop-site.xml 文件中的值。

tez-site

更改 Tez 的 tez-site.xml 文件中的值。

yarn-env

更改 YARN 环境中的值。

yarn-site

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

zeppelin-env

更改 Zeppelin 环境中的值。

zookeeper-config

更改 ZooKeeper 的 zoo.cfg 文件中的值。

zookeeper-log4j

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

Amazon EMR 5.28.0

发行版 5.28.0 应用程序版本

此版本支持以下应用程序:FlinkGangliaHadoopHBaseHCatalogHiveHueJupyterHubLivyMahoutMXNetOoziePhoenixPigPrestoSparkSqoopTensorFlowTezZeppelin, 和ZooKeeper

下图描述了此版本的中提供的应用程序版本以及前四个 Amazon EMR 发布版本中的应用程序版本。

有关每个 Amazon EMR 版本的的全面历史记录,请参见下面的示意图:

发行版 5.28.0 发布说明

以下发布说明包括有关 Amazon EMR 发布版本 5.28.0 的信息。所述更改是相对于 5.27.0 而言的。

首次发布日期:2019 年 11 月 12 日

Upgrades

  • 已将 Flink 升级到版本 1.9.0

  • 已将 Hive 升级到版本 2.3.6

  • 已将 MXNet 升级到版本 1.5.1

  • 已将 Phoenix 升级到版本 4.14.3

  • 已将 Presto 升级到版本 0.227

  • 已将 Zeppelin 升级到版本 0.8.2

新功能

  • Apache hudi现在,Amazon EMR 可以在创建集群时进行安装。有关更多信息,请参阅 Hudi

  • (2019 年 11 月 25 日)您现在可以选择并行运行多个步骤以提高集群利用率并节省成本。您还可以取消待处理和正在运行的步骤。有关更多信息,请参阅使用 Amazon CLI 和控制台执行步骤

  • (2019 年 12 月 3 日)您现 EMR 可以在Amazon Outposts。Amazon Outposts启用本机Amazon服务、基础设施和本地设施中的操作模型。InAmazon Outposts环境中,您可以使用相同的AmazonAPI、工具和基础设施中的Amazon云。有关更多信息,请参阅 。上的 EMR 集群Amazon Outposts

  • (2020 年 3 月 11 日)从 Amazon EMR 版本 5.28.0 开始,您可以在AmazonLocal Zones 子网作为Amazon支持本 Local Zones 域。本地区域启用 Amazon EMR 功能和Amazon服务(如计算和存储服务)位置在更近用户的位置上,以便对本地运行的应用程序提供非常低的延迟访问。有关可用 Local Zones 的列表,请参阅Amazon本地扩展区。有关访问可用Amazon本地扩展区,请参阅区域、可用区和本地区域

    本 Local Zones 不-™ 目前不支持 Amazon EMR Notebooks,并且不支持使用接口 VPC 终端节点 ( Amazon PrivateLink )。

更改、增强和已解决的问题

已知问题

  • 具有多个主节点和 Kerberos 身份验证的群集中的已知问题

    如果在 EMR 5.20.0 版及更高版本中运行具有多个主节点和 Kerberos 身份验证的群集,则在群集运行一段时间后,您可能会遇到群集操作(如缩小或步骤提交)的问题。时间段取决于您定义的 Kerberos 票证有效期。缩小问题会影响您提交的自动缩小和显式缩小请求。其他群集操作也可能受到影响。

    解决办法:

    • SSH 作为hadoop用户连接到具有多个主节点的 EMR 群集的领导主节点。

    • 运行以下命令来续订hadoop用户。

      kinit -kt <keytab_file> <principal>

      通常情况下,密钥表文件位于/etc/hadoop.keytab和本金采用格式hadoop/<hostname>@<REALM>

    注意

    此替代方法将在 Kerberos 票证有效的时间段内生效。默认情况下,此持续时间为 10 小时,但可以通过 Kerberos 设置进行配置。一旦 Kerberos 票证过期,您必须重新运行上述命令。

发行版 5.28.0 组件版本

组件 Version 说明
aws-sagemaker-spark-sdk 1.2.6 Amazon SageMaker Spark 开发工具包
emr-ddb 4.12.0 适用于 Hadoop 生态系统应用程序的 Amazon DynamoDB 连接器。
emr-goodies 2.11.0 适用于 Hadoop 生态系统的方便易用的库。
emr-kinesis 3.4.0 适用于 Hadoop 生态系统应用程序的 Amazon Kinesis 连接器。
emr-s3-dist-cp 2.13.0 针对 Amazon S3 优化的分布式复制应用程序。
emr-s3-select 1.3.0 EMR S3 Select 连接器
emrfs 2.37.0 适用于 Hadoop 生态系统应用程序的 Amazon S3 连接器。
flink-client 1.9.0 Apache Flink 命令行客户端脚本和应用程序。
ganglia-monitor 3.7.2 适用于 Hadoop 生态系统应用程序的嵌入式 Ganglia 代理以及 Ganglia 监控代理。
ganglia-metadata-collector 3.7.2 用于从 Ganglia 监控代理中聚合指标的 Ganglia 元数据收集器。
ganglia-web 3.7.1 用于查看由 Ganglia 元数据收集器收集的指标的 Web 应用程序。
hadoop-client 2.8.5-amzn-5 Hadoop 命令行客户端,如“hdfs”、“hadoop”或“yarn”。
hadoop-hdfs-datanode 2.8.5-amzn-5 用于存储数据块的 HDFS 节点级服务。
hadoop-hdfs-library 2.8.5-amzn-5 HDFS 命令行客户端和库
hadoop-hdfs-namenode 2.8.5-amzn-5 用于跟踪文件名和数据块位置的 HDFS 服务。
hadoop-hdfs-journalnode 2.8.5-amzn-5 用于管理 HA 集群上的 Hadoop 文件系统日志的 HDFS 服务。
hadoop-httpfs-server 2.8.5-amzn-5 用于 HDFS 操作的 HTTP 终端节点。
hadoop-kms-server 2.8.5-amzn-5 基于 Hadoop 的 KeyProvider API 的加密密钥管理服务器。
hadoop-mapred 2.8.5-amzn-5 用于运行 MapReduce 应用程序的 MapReduce 执行引擎库。
hadoop-yarn-nodemanager 2.8.5-amzn-5 用于管理单个节点上的容器的 YARN 服务。
hadoop-yarn-resourcemanager 2.8.5-amzn-5 用于分配和管理群集资源与分布式应用程序的 YARN 服务。
hadoop-yarn-timeline-server 2.8.5-amzn-5 用于检索 YARN 应用程序的当前信息和历史信息的服务。
hbase-hmaster 1.4.10 适用于负责协调区域和执行管理命令的 HBase 集群的服务。
hbase-region-server 1.4.10 用于服务于一个或多个 HBase 区域的服务。
hbase-client 1.4.10 HBase 命令行客户端。
hbase-rest-server 1.4.10 用于向 HBase 提供 RESTful HTTP 终端节点的服务。
hbase-thrift-server 1.4.10 用于向 HBase 提供 Thrift 终端节点的服务。
hcatalog-client 2.3.6-amzn-0 用于操作 hcatalog-server 的“hcat”命令行客户端。
hcatalog-server 2.3.6-amzn-0 用于为分布式应用程序提供 HCatalog、表和存储管理层的服务。
hcatalog-webhcat-server 2.3.6-amzn-0 用于向 HCatalog 提供 REST 接口的 HTTP 终端节点。
hive-client 2.3.6-amzn-0 Hive 命令行客户端。
hive-hbase 2.3.6-amzn-0 Hive-hbase 客户端。
hive-metastore-server 2.3.6-amzn-0 用于访问 Hive 元存储 (一个用于存储 Hadoop 操作中的 SQL 的元数据的语义存储库) 的服务。
hive-server2 2.3.6-amzn-0 用于将 Hive 查询作为 Web 请求接受的服务。
hudi 0.5.0-incubating 增量处理框架,以支持低延迟和高效率的数据管道。
hudi-presto 0.5.0-incubating 用于运行 Presto 以及 Hudl 的捆绑库。
hue-server 4.4.0 用于使用 Hadoop 生态系统应用程序分析数据的 Web 应用程序
jupyterhub 1.0.0 Jupyter 笔记本的多用户服务器
livy-server 0.6.0-incubating 用于与 Apache Spark 交互的 REST 接口
nginx 1.12.1 nginx [引擎 x] 是 HTTP 和反向代理服务器
mahout-client 0.13.0 用于机器学习的库。
mxnet 1.5.1 用于深度学习的灵活的、可扩展且高效的库。
mysql-server 5.5.54+ MySQL 数据库服务器。
nvidia-cuda 9.2.88 Nvidia 驱动程序和 Cuda 工具包
oozie-client 5.1.0 Oozie 命令行客户端。
oozie-server 5.1.0 用于接受 Oozie 工作流请求的服务。
opencv 3.4.0 开源计算机视觉库。
phoenix-library 4.14.3-HBase-1.4 服务器和客户端的 phoenix 库
phoenix-query-server 4.14.3-HBase-1.4 向 Avatica API 提供 JDBC 访问权限以及协议缓冲区和 JSON 格式访问权限的轻量级服务器
presto-coordinator 0.227 用于在 presto-worker 之中接受查询并管理查询的服务。
presto-worker 0.227 用于执行查询的各个部分的服务。
presto-client 0.227 Presto 命令行客户端,安装在 HA 集群的备用主服务器(未启动 Presto 服务器)上。
pig-client 0.17.0 Pig 命令行客户端。
r 3.4.1 用于统计计算的 R 项目
spark-client 2.4.4 Spark 命令行客户端。
spark-history-server 2.4.4 用于查看完整的 Spark 应用程序的生命周期的已记录事件的 Web UI。
spark-on-yarn 2.4.4 适用于 YARN 的内存中执行引擎。
spark-yarn-slave 2.4.4 YARN 从属项所需的 Apache Spark 库。
sqoop-client 1.4.7 Apache Sqoop 命令行客户端。
tensorflow 1.14.0 适用于高性能数值计算的 TensorFlow 开源软件库。
tez-on-yarn 0.9.2 tez YARN 应用程序和库。
webserver 2.4.25+ Apache HTTP 服务器。
zeppelin-server 0.8.2 支持交互式数据分析的基于 Web 的笔记本电脑。
zookeeper-server 3.4.14 用于维护配置信息、命名、提供分布式同步以及提供组服务的集中式服务。
zookeeper-client 3.4.14 ZooKeeper 命令行客户端。

发行版 5.28.0 配置分类

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

emr-5.28.0 分类
分类 说明

capacity-scheduler

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

container-log4j

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

core-site

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

emrfs-site

更改 EMRFS 设置。

flink-conf

更改 flink-conf.yaml 设置。

flink-log4j

更改 Flink log4j.properties 设置。

flink-log4j-yarn-session

更改 Flink log4j-yarn-session.properties 设置。

flink-log4j-cli

更改 Flink log4j-cli.properties 设置。

hadoop-env

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

hadoop-log4j

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

hadoop-ssl-server

更改 hadoop ssl 服务器配置

hadoop-ssl-client

更改 hadoop ssl 客户端配置

hbase

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

hbase-env

更改 HBase 环境中的值。

hbase-log4j

更改 HBase 的 hbase-log4j.properties 文件中的值。

hbase-metrics

更改 HBase 的 hadoop-metrics2-hbase.properties 文件中的值。

hbase-policy

更改 HBase 的 hbase-policy.xml 文件中的值。

hbase-site

更改 HBase 的 hbase-site.xml 文件中的值。

hdfs-encryption-zones

配置 HDFS 加密区域。

hdfs-site

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

hcatalog-env

更改 HCatalog 的环境中的值。

hcatalog-server-jndi

更改 HCatalog 的 jndi.properties 中的值。

hcatalog-server-proto-hive-site

更改 HCatalog 的 proto-hive-site.xml 中的值。

hcatalog-webhcat-env

更改 HCatalog WebHCat 的环境中的值。

hcatalog-webhcat-log4j2

更改 HCatalog WebHCat 的 log4j2.properties 中的值。

hcatalog-webhcat-site

更改 HCatalog WebHCat 的 webhcat-site.xml 文件中的值。

hive-beeline-log4j2

更改 Hive 的 beeline-log4j2.properties 文件中的值。

hive-parquet-logging

更改 Hive parquet-logging.properties 文件中的值。

hive-env

更改 Hive 环境中的值。

hive-exec-log4j2

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

hive-llap-daemon-log4j2

更改 Hive 的 llap-daemon-log4j2.properties 文件中的值。

hive-log4j2

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

hive-site

更改 Hive 的 hive-site.xml 文件中的值

hiveserver2-site

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

jupyter-notebook-conf

更改 Jupyter Notebook 的 jupyter_notebook_config.py 文件中的值。

jupyter-hub-conf

更改 JupyterHubs 的 jupyterhub_config.py 文件中的值。

jupyter-s3-conf

配置 Jupyter Notebook S3 持久性。

jupyter-sparkmagic-conf

更改 Sparkmagic 的 config.json 文件中的值。

livy-conf

更改 Livy 的 livy.conf 文件中的值。

livy-env

更改 Livy 环境中的值。

livy-log4j

更改 Livy log4j.properties 设置。

mapred-env

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

mapred-site

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

oozie-env

更改 Oozie 的环境中的值。

oozie-log4j

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

oozie-site

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

phoenix-hbase-metrics

更改 Phoenix 的 hadoop-metrics2-hbase.properties 文件中的值。

phoenix-hbase-site

更改 Phoenix 的 hbase-site.xml 文件中的值。

phoenix-log4j

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

phoenix-metrics

更改 Phoenix 的 hadoop-metrics2-phoenix.properties 文件中的值。

pig-env

更改 Pig 环境中的值。

pig-properties

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

pig-log4j

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

presto-log

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

presto-config

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

presto-password-authenticator

更改 Presto 的 password-authenticator.properties 文件中的值。

presto-env

更改 Presto 的 presto-env.sh 文件中的值。

presto-node

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

presto-connector-blackhole

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

presto-connector-cassandra

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

presto-connector-hive

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

presto-connector-jmx

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

presto-connector-kafka

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

presto-connector-localfile

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

presto-connector-memory

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

presto-connector-mongodb

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

presto-connector-mysql

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

presto-connector-postgresql

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

presto-connector-raptor

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

presto-connector-redis

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

presto-connector-redshift

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

presto-connector-tpch

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

presto-connector-tpcds

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

ranger-kms-dbks-site

更改 Ranger KMS 的 dbks-site.xml 文件中的值。

ranger-kms-site

更改 Ranger KMS 的 ranger-kms-site.xml 文件中的值。

ranger-kms-env

更改 Ranger KMS 环境中的值。

ranger-kms-log4j

更改 Ranger KMS 的 kms-log4j.properties 文件中的值。

ranger-kms-db-ca

更改 S3 上用于与 Ranger KMS 进行 MySQL SSL 连接的 CA 文件的值。

recordserver-env

更改 EMR RecordServer 环境中的值。

recordserver-conf

更改 EMR RecordServer erver.properties 文件中的值。

recordserver-log4j

更改 EMR RecordServer log4j.properties 文件中的值。

spark

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

spark-defaults

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

spark-env

更改 Spark 环境中的值。

spark-hive-site

更改 Spark 的 hive-site.xml 文件中的值

spark-log4j

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

spark-metrics

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

sqoop-env

更改 Sqoop 的环境中的值。

sqoop-oraoop-site

更改 Sqoop OraOop 的 oraoop-site.xml 文件中的值。

sqoop-site

更改 Sqoop 的 sqoop-site.xml 文件中的值。

tez-site

更改 Tez 的 tez-site.xml 文件中的值。

yarn-env

更改 YARN 环境中的值。

yarn-site

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

zeppelin-env

更改 Zeppelin 环境中的值。

zookeeper-config

更改 ZooKeeper 的 zoo.cfg 文件中的值。

zookeeper-log4j

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

5.27.0

5.27.0 应用程序版本

此版本支持以下应用程序:FlinkGangliaHadoopHBaseHCatalogHiveHueJupyterHubLivyMahoutMXNetOoziePhoenixPigPrestoSparkSqoopTensorFlowTezZeppelin, 和ZooKeeper

下图描述了此版本的中提供的应用程序版本以及前四个 Amazon EMR 发布版本中的应用程序版本。

有关每个 Amazon EMR 版本的的全面历史记录,请参见下面的示意图:

5.27.0 发布说明

以下发布说明包括有关 Amazon EMR 发布版本 5.27.0 的信息。更改是相对于 5.26.0 而言。

首次发布日期:2019 年 9 月 23 日

Upgrades

  • Amazon SDK for Java1.11.615

  • Flink 1.8.1

  • JupyterHub 1.0.0

  • Spark 2.4.4

  • 张量流 1.14.0

  • 连接器和驱动器:

    • DynamoDB 连接器 4.12.0

新功能

  • (2019 年 10 月 24 日)所有亚马逊 EMR 版本均提供 EMR 笔记本电脑中的以下新功能。

    • 实例元数据服务 (IMDS) V2 支持状态:亚马逊 EMR 5.23.1、5.27.1 和 5.32 或更高版本的组件对所有 IMDS 呼叫都使用 IMDSv2。对于应用程序代码中的 IMDS 调用,您可以同时使用 IMDSv1 和 IMDSv2,或者将 IMDS 配置为仅使用 IMDSv2 以提高安全性。对于其他 5.x EMR 版本,禁用 IMDSv1 会导致群集启动失败。

    • 现在可以将 Git 存储库与 EMR 笔记本关联,以将笔记本存储在版本控制的环境中。您可以通过远程 Git 存储库与同行共享代码,并重复使用现有的 Jupyter 笔记本电脑。有关更多信息,请参阅 。将 Git 存储库与 Amazon EMR Notebooks 关联中的Amazon EMR 管理指南

    • 这些区域有:nbdime 实用工具现在可在 EMR 笔记本电脑中使用,以简化笔记本电脑的比较和合并。Â

    • EMR 笔记本电脑现在支持 JupyterLab。JupyterLab 是一个基于 Web 的交互式开发环境,与 Jupyter 笔记本完全兼容。现在,您可以选择在 JupyterLab 或 Jupyter 笔记本编辑器中打开笔记本电脑。

  • (2019 年 10 月 30 日)使用 Amazon EMR 5.25.0 版及更高版本,可以从集群连接到 Spark 历史记录服务器 UI摘要页面或应用程序历史记录选项卡中的。您可快速访问 Spark 历史记录服务器 UI,以查看应用程序指标和访问活动集群和终止集群的相关日志文件,而不是通过 SSH 连接设置 Web 代理。有关更多信息,请参阅 。异群访问持久性应用程序用户界面中的Amazon EMR 管理指南

更改、增强和已解决的问题

已知问题

  • 具有多个主节点和 Kerberos 身份验证的群集中的已知问题

    如果在 EMR 5.20.0 版及更高版本中运行具有多个主节点和 Kerberos 身份验证的群集,则在群集运行一段时间后,您可能会遇到群集操作(如缩小或步骤提交)的问题。时间段取决于您定义的 Kerberos 票证有效期。缩小问题会影响您提交的自动缩小和显式缩小请求。其他群集操作也可能受到影响。

    解决办法:

    • SSH 作为hadoop用户移动到具有多个主节点的 EMR 集群的主节点。

    • 运行以下命令来续订hadoop用户。

      kinit -kt <keytab_file> <principal>

      通常情况下,密钥表文件位于/etc/hadoop.keytab和本金采用格式hadoop/<hostname>@<REALM>

    注意

    此替代方法将在 Kerberos 票证有效的时间段内生效。默认情况下,此持续时间为 10 小时,但可以通过 Kerberos 设置进行配置。一旦 Kerberos 票证过期,您必须重新运行上述命令。

5.27.0 组件版本

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

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

组件 Version 说明
aws-sagemaker-spark-sdk 1.2.4 Amazon SageMaker Spark 开发工具包
emr-ddb 4.12.0 适用于 Hadoop 生态系统应用程序的 Amazon DynamoDB 连接器。
emr-goodies 2.11.0 适用于 Hadoop 生态系统的方便易用的库。
emr-kinesis 3.4.0 适用于 Hadoop 生态系统应用程序的 Amazon Kinesis 连接器。
emr-s3-dist-cp 2.13.0 针对 Amazon S3 优化的分布式复制应用程序。
emr-s3-select 1.3.0 EMR S3 Select 连接器
emrfs 2.36.0 适用于 Hadoop 生态系统应用程序的 Amazon S3 连接器。
flink-client 1.8.1 Apache Flink 命令行客户端脚本和应用程序。
ganglia-monitor 3.7.2 适用于 Hadoop 生态系统应用程序的嵌入式 Ganglia 代理以及 Ganglia 监控代理。
ganglia-metadata-collector 3.7.2 用于从 Ganglia 监控代理中聚合指标的 Ganglia 元数据收集器。
ganglia-web 3.7.1 用于查看由 Ganglia 元数据收集器收集的指标的 Web 应用程序。
hadoop-client 2.8.5-amzn-4 Hadoop 命令行客户端,如“hdfs”、“hadoop”或“yarn”。
hadoop-hdfs-datanode 2.8.5-amzn-4 用于存储数据块的 HDFS 节点级服务。
hadoop-hdfs-library 2.8.5-amzn-4 HDFS 命令行客户端和库
hadoop-hdfs-namenode 2.8.5-amzn-4 用于跟踪文件名和数据块位置的 HDFS 服务。
hadoop-hdfs-journalnode 2.8.5-amzn-4 用于管理 HA 集群上的 Hadoop 文件系统日志的 HDFS 服务。
hadoop-httpfs-server 2.8.5-amzn-4 用于 HDFS 操作的 HTTP 终端节点。
hadoop-kms-server 2.8.5-amzn-4 基于 Hadoop 的 KeyProvider API 的加密密钥管理服务器。
hadoop-mapred 2.8.5-amzn-4 用于运行 MapReduce 应用程序的 MapReduce 执行引擎库。
hadoop-yarn-nodemanager 2.8.5-amzn-4 用于管理单个节点上的容器的 YARN 服务。
hadoop-yarn-resourcemanager 2.8.5-amzn-4 用于分配和管理集群资源与分布式应用程序的 YARN 服务。
hadoop-yarn-timeline-server 2.8.5-amzn-4 用于检索 YARN 应用程序的当前信息和历史信息的服务。
hbase-hmaster 1.4.10 适用于负责协调区域和执行管理命令的 HBase 集群的服务。
hbase-region-server 1.4.10 用于服务于一个或多个 HBase 区域的服务。
hbase-client 1.4.10 HBase 命令行客户端。
hbase-rest-server 1.4.10 用于向 HBase 提供 RESTful HTTP 终端节点的服务。
hbase-thrift-server 1.4.10 用于向 HBase 提供 Thrift 终端节点的服务。
hcatalog-client 2.3.5-amzn-1 用于操作 hcatalog-server 的“hcat”命令行客户端。
hcatalog-server 2.3.5-amzn-1 用于为分布式应用程序提供 HCatalog、表和存储管理层的服务。
hcatalog-webhcat-server 2.3.5-amzn-1 用于向 HCatalog 提供 REST 接口的 HTTP 终端节点。
hive-client 2.3.5-amzn-1 Hive 命令行客户端。
hive-hbase 2.3.5-amzn-1 Hive-hbase 客户端。
hive-metastore-server 2.3.5-amzn-1 用于访问 Hive 元存储 (一个用于存储 Hadoop 操作中的 SQL 的元数据的语义存储库) 的服务。
hive-server2 2.3.5-amzn-1 用于将 Hive 查询作为 Web 请求接受的服务。
hue-server 4.4.0 用于使用 Hadoop 生态系统应用程序分析数据的 Web 应用程序
jupyterhub 1.0.0 Jupyter 笔记本的多用户服务器
livy-server 0.6.0-incubating 用于与 Apache Spark 交互的 REST 接口
nginx 1.12.1 nginx [引擎 x] 是 HTTP 和反向代理服务器
mahout-client 0.13.0 用于机器学习的库。
mxnet 1.4.0 用于深度学习的灵活的、可扩展且高效的库。
mysql-server 5.5.54+ MySQL 数据库服务器。
nvidia-cuda 9.2.88 Nvidia 驱动程序和 Cuda 工具包
oozie-client 5.1.0 Oozie 命令行客户端。
oozie-server 5.1.0 用于接受 Oozie 工作流请求的服务。
opencv 3.4.0 开源计算机视觉库。
phoenix-library 4.14.2-HBase-1.4 服务器和客户端的 phoenix 库
phoenix-query-server