本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
亚马逊EMR版本 5.28.0
5.28.0 应用程序版本
此版本支持以下应用程序:Flink
下表列出了此版本的 Amazon 中可用的应用程序版本EMR和前三个亚马逊版本中的应用程序EMR版本(如果适用)。
要全面了解每个 Amazon 版本的应用程序版本历史记录EMR,请参阅以下主题:
emr-5.28.0 | emr-5.27.1 | emr-5.27.0 | emr-5.26.0 | |
---|---|---|---|---|
AWS SDK适用于 Java | 1.11.659 | 1.11.615 | 1.11.615 | 1.11.595 |
Python | 2.7、3.6 | 2.7、3.6 | 2.7、3.6 | 2.7、3.6 |
Scala | 2.11.12 | 2.11.12 | 2.11.12 | 2.11.12 |
AmazonCloudWatchAgent | - | - | - | - |
Delta | - | - | - | - |
Flink | 1.9.0 | 1.8.1 | 1.8.1 | 1.8.0 |
Ganglia | 3.7.2 | 3.7.2 | 3.7.2 | 3.7.2 |
HBase | 1.4.10 | 1.4.10 | 1.4.10 | 1.4.10 |
HCatalog | 2.3.6 | 2.3.5 | 2.3.5 | 2.3.5 |
Hadoop | 2.8.5 | 2.8.5 | 2.8.5 | 2.8.5 |
Hive | 2.3.6 | 2.3.5 | 2.3.5 | 2.3.5 |
Hudi | 0.5.0-incubating | - | - | - |
Hue | 4.4.0 | 4.4.0 | 4.4.0 | 4.4.0 |
Iceberg | - | - | - | - |
JupyterEnterpriseGateway | - | - | - | - |
JupyterHub | 1.0.0 | 1.0.0 | 1.0.0 | 0.9.6 |
Livy | 0.6.0 | 0.6.0 | 0.6.0 | 0.6.0 |
MXNet | 1.5.1 | 1.4.0 | 1.4.0 | 1.4.0 |
Mahout | 0.13.0 | 0.13.0 | 0.13.0 | 0.13.0 |
Oozie | 5.1.0 | 5.1.0 | 5.1.0 | 5.1.0 |
Phoenix | 4.14.3 | 4.14.2 | 4.14.2 | 4.14.2 |
Pig | 0.17.0 | 0.17.0 | 0.17.0 | 0.17.0 |
Presto | 0.227 | 0.224 | 0.224 | 0.220 |
Spark | 2.4.4 | 2.4.4 | 2.4.4 | 2.4.3 |
Sqoop | 1.4.7 | 1.4.7 | 1.4.7 | 1.4.7 |
TensorFlow | 1.14.0 | 1.14.0 | 1.14.0 | 1.13.1 |
Tez | 0.9.2 | 0.9.2 | 0.9.2 | 0.9.2 |
Trino(Prest SQL o) | - | - | - | - |
Zeppelin | 0.8.2 | 0.8.1 | 0.8.1 | 0.8.1 |
ZooKeeper | 3.4.14 | 3.4.14 | 3.4.14 | 3.4.14 |
5.28.0 发布说明
以下发行说明包含有关亚马逊 5.28. EMR 0 版本的信息。更改与 5.27.0 有关。
首次发布日期:2019 年 11 月 12 日
升级
已将 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
现在EMR可供亚马逊在你创建集群时安装。有关更多信息,请参阅 Hudi。 (2019 年 11 月 25 日)您现在可以选择并行运行多个步骤以提高集群利用率并节省成本。您还可以取消待处理和正在运行的步骤。有关更多信息,请参阅使用 AWS CLI 和控制台处理步骤。
(2019 年 12 月 3 日)您现在可以在上创建和运行EMR集群 AWS Outposts。 AWS Outposts 在本地设施中启用原生 AWS 服务、基础设施和运营模式。在 AWS Outposts 环境中,您可以使用与 AWS 云端相同的 AWS APIs工具和基础架构。有关更多信息,请参阅上的EMR集群 AWS Outposts。
(2020 年 3 月 11 日)从 Amazon EMR 版本 5.28.0 开始,您可以在本地区域子网上创建和运行亚马逊EMR集群,作为支持 AWS 本地区域的 AWS 区域的逻辑扩展。本地区域使得 Amazon EMR 功能和部分 AWS 服务(例如计算和存储服务)可以位于离用户更近的地方,从而为本地运行的应用程序提供极低的延迟访问。有关可用的 Local Zones 列表,请参阅 AWS Local Zones
。有关访问可用 AWS 本地区域的信息,请参阅区域、可用区和本地区域。 Local Zones 目前不支持亚马逊EMR笔记本电脑,也不支持EMR使用接口VPC终端节点 (AWS PrivateLink) 直接连接到亚马逊。
更改、增强功能和解决的问题
扩展了对高可用性集群的应用程序支持
有关更多信息,请参阅 Amazon EMR 管理指南中的具有多个主节点的EMR集群中支持的应用程序。
Spark
性能优化
Hive
性能优化
Presto
性能优化
已知问题
-
具有多个主节点的集群和 Kerberos 身份验证中的已知问题
如果您在 Amazon 5.20.0 及更高EMR版本中运行具有多个主节点和 Kerberos 身份验证的集群,则在集群运行一段时间后,集群操作可能会遇到问题,例如缩小规模或步骤提交。具体时间段取决于您定义的 Kerberos 票证有效期。缩减问题会影响您提交的自动缩减和显式缩减请求。其它集群操作也可能会受到影响。
解决办法:
-
SSH以
hadoop
用户身份访问具有多个主节点的EMR群集的主节点。 -
运行以下命令,为
hadoop
用户续订 Kerberos 票证。kinit -kt <keytab_file> <principal>
通常情况下,keytab 文件位于
/etc/hadoop.keytab
,而 principal 为hadoop/<hostname>@<REALM>
格式。
注意
此解决方法将在 Kerberos 票证有效期内生效。默认情况下,此持续时间为 10 个小时,但可以通过 Kerberos 设置进行配置。Kerberos 票证过期后,您必须重新运行上述命令。
-
5.28.0 组件版本
下面列出了 Amazon 随此版本EMR安装的组件。一些组件作为大数据应用程序包的一部分安装。其他则是 Amazon 独有的EMR,是为系统流程和功能而安装的。它们通常以 emr
或 aws
开头。Amazon 最新EMR版本中的大数据应用程序包通常是社区中的最新版本。我们会EMR尽快在 Amazon 上发布社区版本。
Amazon 中的某些组件与社区版本EMR不同。这些组件具有以下形式的
的发行版标注。CommunityVersion
-amzn-EmrVersion
从 0 开始。例如,如果EmrVersion
myapp-component
以 2.2 版本命名的开源社区组件经过三次修改以包含在不同的 Amazon EMR 版本中,则其发布版本将列为2.2-amzn-2
。
组件 | 版本 | 描述 |
---|---|---|
aws-sagemaker-spark-sdk | 1.2.6 | 亚马逊 SageMaker Spark SDK |
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 | EMRS3Select 连接器 |
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 | HDFS用于管理 HA 集群上的 Hadoop 文件系统日志的服务。 |
hadoop-httpfs-server | 2.8.5-amzn-5 | HTTPHDFS操作端点。 |
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 | 为提供RESTfulHTTP终端节点的服务HBase。 |
hbase-thrift-server | 1.4.10 | 为其提供 Thrift 端点的HBase服务。 |
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 | HTTP端点为其提供REST接口HCatalog。 |
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 notebook 的多用户服务器 |
livy-server | 0.6.0-incubating | REST用于与 Apache Spark 交互的接口 |
nginx | 1.12.1 | nginx [engine x] HTTP 是一个反向代理服务器 |
mahout-client | 0.13.0 | 用于机器学习的库。 |
mxnet | 1.5.1 | 用于深度学习的灵活的、可扩展且高效的库。 |
mysql-server | 5.5.54+ | 我的SQL数据库服务器。 |
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--1.4 HBase | 服务器和客户端的 phoenix 库 |
phoenix-query-server | 4.14.3--1.4 HBase | 轻量级服务器,提供JDBC对 Avatica 的访问以及协议缓冲区和JSON格式访问 API |
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
。有关更多信息,请参阅 配置应用程序。
分类 | 描述 |
---|---|
capacity-scheduler | 更改 Hadoop 的 capacity-scheduler.xml 文件中的值。 |
container-log4j | 更改 Hadoop 的 container-log4j.prop YARN erties 文件中的值。 |
core-site | 更改 Hadoop 的 core-site.xml 文件中的值。 |
emrfs-site | 更改EMRFS设置。 |
flink-conf | 更改 flink-conf.yaml 设置。 |
flink-log4j | 更改 Flink log4j.properties 设置。 |
flink-log4j-yarn-session | 更改 Flink log4 j-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 | 亚马逊EMR精心策划的 Apache 设置。HBase |
hbase-env | 更改环境HBase中的值。 |
hbase-log4j | 更改 hbase-HBase log4j.properties 文件中的值。 |
hbase-metrics | 更改 hadoop-metrics2-h HBase base.properties 文件中的值。 |
hbase-policy | 更改HBase的 hbase-policy.xml 文件中的值。 |
hbase-site | 更改HBase的 hbase-site.xml 文件中的值。 |
hdfs-encryption-zones | 配置HDFS加密区域。 |
hdfs-site | 更改的 hdfs-site.xml HDFS 中的值。 |
hcatalog-env | 更改环境HCatalog中的值。 |
hcatalog-server-jndi | 更改HCatalog的 jndi.properties 中的值。 |
hcatalog-server-proto-hive-site | 更改 proto-hive-site .x HCatalog ml 中的值。 |
hcatalog-webhcat-env | 更改 HCatalog W 环境ebHCat中的值。 |
hcatalog-webhcat-log4j2 | 更改 HCatalog W ebHCat 的 log4j2.properties 中的值。 |
hcatalog-webhcat-site | 更改 HCatalog W ebHCat 的 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-log 4j2.properties 文件中的值。 |
hive-llap-daemon-log4j2 | 更改 Hive 的 llap-daemon-log 4j2.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 | 更改 Ran ranger-kms-site KMS ger .xml 文件中的值。 |
ranger-kms-env | 更改游侠KMS环境中的值。 |
ranger-kms-log4j | 更改 Ranger 的 kms-log4j.properties 文件中的值。KMS |
ranger-kms-db-ca | 更改 S3 上我与 Ranger SQL SSL KMS 连接的 CA 文件值。 |
recordserver-env | 更改EMR RecordServer 环境中的值。 |
recordserver-conf | 更改服务器.proper EMR RecordServer ties 文件中的值。 |
recordserver-log4j | 更改EMR RecordServer的 log4j.properties 文件中的值。 |
spark | 亚马逊EMR精心策划的 Apache Spark 设置。 |
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 文件中的值。 |