Amazon EMR 6.x 发布版本 - Amazon EMR
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

Amazon EMR 6.x 发布版本

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

Amazon EMR 6.x 系列支持 Apache Hadoop 3。有关每个发布版本中的应用程序版本的综合图,请参阅 Amazon EMR 6.x 发布版本中的应用程序版本 (PNG)

New Amazon EMR release versions are made available in different regions over a period of several days, beginning with the first region on the initial release date. The latest release version may not be available in your region during this period.

6.2.0 (Latest)

6.2.0 应用程序版本

此版本支持以下应用程序: JupyterEnterpriseGateway, Flink, Ganglia, Hadoop, HBase, HCatalog, Hive, Hue, JupyterHub, Livy, MXNet, Oozie, Phoenix, Pig, Presto, PrestoSQL, Spark, Sqoop, TensorFlow, Tez, Zeppelin: 和 ZooKeeper.

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

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

6.2.0 发行说明

以下发行说明包含有关 Amazon EMR 发布版本 6.2.0 的信息。更改是相对于 6.1.0 而言的。

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

上次更新日期:2021 年 3 月 24 日

支持的应用程序

  • AWS SDK for Java 版本 1.11.828

  • emr-record-server 版本 1.7.0

  • Flink 版本 1.11.2

  • Ganglia 版本 3.7.2

  • Hadoop 版本 3.2.1-amzn-1

  • HBase 版本 2.2.6-amzn-0

  • HBase-operator-tools 1.0.0

  • HCatalog 版本 3.1.2-amzn-0

  • Hive 版本 3.1.2-amzn-3

  • Hudi 版本 0.6.0-amzn-1

  • Hue 版本 4.8.0

  • JupyterHub 版本 1.1.0

  • Livy 版本 0.7.0

  • MXNet 版本 1.7.0

  • Oozie 版本 5.2.0

  • Phoenix 版本 5.0.0

  • Pig 版本 0.17.0

  • Presto 版本 0.238.3-amzn-1

  • PrestoSQL 版本 343

  • Spark 版本 3.0.1-amzn-0

  • spark-rapids 0.2.0

  • TensorFlow 版本 2.3.1

  • Zeppelin 版本 0.9.0-preview1

  • Zookeeper 版本 3.4.14

  • 连接器和驱动程序:DynamoDB Connector 4.16.0

新功能

  • HBase:在提交阶段删除了重命名并添加了持久的 HFile 跟踪。请参阅 Amazon EMR 版本指南 中的持久的 HFile 跟踪

  • HBase:向后移植了创建用于强制在压缩时缓存数据块的配置

  • PrestoDB:对动态分区修剪进行了改进。基于规则的联接重排序适用于非分区数据。

  • 限定范围的托管策略:为符合 AWS 最佳实践,Amazon EMR 已推出 v2 EMR 限定范围的默认托管策略作为将弃用的策略的替代。请参阅 Amazon EMR 托管策略

  • 实例元数据服务 (IMDS) V2 支持状态:对于 Amazon EMR 6.2 或更高版本,Amazon EMR 组件使用 IMDSv2 进行所有 IMDS 调用。对于应用程序代码中的 IMDS 调用,您可以同时使用 IMDSv1 和 IMDSv2,或者配置 IMDS 只使用 IMDSv2 以增加安全性。如果在 Amazon EMR 6.x 之前的版本中禁用 IMDSv1,则会导致集群启动失败。

更改、增强和解决的问题

  • Spark:对 Spark 运行时进行了性能改进。

已知问题

  • Lower "Max open files" limit on older AL2. Amazon EMR releases: emr-5.30.x, emr-5.31.0, emr-5.32.0, emr-6.0.0, emr-6.1.0, and emr-6.2.0 are based on older versions of Amazon Linux 2 (AL2), which have a lower ulimit setting for “Max open files” when EMR clusters are created with the default AMI. The lower open file limit causes a "Too many open files" error when submitting Spark job. In the impacted EMR releases, the Amazon EMR default AMI has a default ulimit setting of 4096 for "Max open files," which is lower than the 65536 file limit in the latest Amazon Linux 2 AMI. The lower ulimit setting for "Max open files" causes Spark job failure when the Spark driver and executor try to open more than 4096 files. To fix the issue, Amazon EMR has a bootstrap action (BA) script that adjusts the ulimit setting at cluster creation. Amazon EMR releases 6.3.0 and 5.33.0 will include a permanent fix with a higher "Max open files" setting.

    The following workaround for this issue lets you to explicitly set the instance-controller ulimit to a maximum of 65536 files.

    Explicitly set a ulimit from the command line

    1. Edit /etc/systemd/system/instance-controller.service to add the following parameters to Service section.

      LimitNOFILE=65536

      LimitNPROC=65536

    2. Restart InstanceController

      $ sudo systemctl daemon-reload

      $ sudo systemctl restart instance-controller

    Set a ulimit using bootstrap action (BA)

    You can also use a bootstrap action (BA) script to configure the instance-controller ulimit to 65536 files at cluster creation.

    #!/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 6.1.0 和 6.2.0 包含一个性能问题,此问题可能会严重影响所有 Hudi 插入、更新插入和删除操作。如果您计划将 Hudi 与 Amazon EMR 6.1.0 或 6.2.0 结合使用,则应联系 AWS Support 以获取已修补的 Hudi RPM。

  • 重要

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

  • 没有发布 Amazon EMR 6.2.0 Maven 构件。它们将与未来的 Amazon EMR 版本一起发布。

  • 使用 HBase 存储文件系统表进行持久 HFile 跟踪不支持 HBase 区域复制功能。有关 HBase 区域复制的更多信息,请参阅时间线一致的高可用读取

  • Amazon EMR 6.x 和 EMR 5.x Hive 分桶版本差异

    EMR 5.x 使用 OOS Apache Hive 2,而在 EMR 6.x 中使用 OOS Apache Hive 3。开源 Hive2 使用分桶版本 1,而开源 Hive3 使用分桶版本 2。Hive 2 (EMR 5.x) 和 Hive 3 (EMR 6.x) 之间的这种分桶版本差异意味着 Hive 以不同的方式对哈希函数进行分桶。请参见以下示例。

    下表是分别在 EMR 6.x 和 EMR 5.x 中创建的示例。

    -- Using following LOCATION in EMR 6.x CREATE TABLE test_bucketing (id INT, desc STRING) PARTITIONED BY (day STRING) CLUSTERED BY(id) INTO 128 BUCKETS LOCATION 's3://your-own-s3-bucket/emr-6-bucketing/'; -- Using following LOCATION in EMR 5.x LOCATION 's3://your-own-s3-bucket/emr-5-bucketing/';

    在 EMR 6.x 和 EMR 5.x 中插入相同的数据。

    INSERT INTO test_bucketing PARTITION (day='01') VALUES(66, 'some_data'); INSERT INTO test_bucketing PARTITION (day='01') VALUES(200, 'some_data');

    检查 S3 位置时,显示分桶文件名是不同的,因为哈希函数在 EMR 6.x (Hive 3) 和 EMR 5.x (Hive 2) 之间不同。

    [hadoop@ip-10-0-0-122 ~]$ aws s3 ls s3://your-own-s3-bucket/emr-6-bucketing/day=01/ 2020-10-21 20:35:16 13 000025_0 2020-10-21 20:35:22 14 000121_0 [hadoop@ip-10-0-0-122 ~]$ aws s3 ls s3://your-own-s3-bucket/emr-5-bucketing/day=01/ 2020-10-21 20:32:07 13 000066_0 2020-10-21 20:32:51 14 000072_0

    还可以通过在 EMR 6.x 的 Hive CLI 中运行以下命令来查看版本差异。请注意,它返回分桶版本 2。

    hive> DESCRIBE FORMATTED test_bucketing; ... Table Parameters: bucketing_version 2 ...

6.2.0 组件版本

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

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

组件 版本 描述
aws-sagemaker-spark-sdk 1.4.1 Amazon SageMaker Spark 开发工具包
emr-ddb 4.16.0 - 适用于 Hadoop 生态系统应用程序的 Amazon DynamoDB 连接器。
emr-goodies 3.1.0 适用于 Hadoop 生态系统的方便易用的库。
emr-kinesis 3.5.0 适用于 Hadoop 生态系统应用程序的 Amazon Kinesis 连接器。
emr-notebook-env 1.0.0 用于包含 jupyter 企业网关的 emr 笔记本的 Conda env
emr-s3-dist-cp 2.16.0 针对 Amazon S3 优化的分布式复制应用程序。
emr-s3-select 2.0.0 EMR S3Select 连接器
emrfs 2.44.0 适用于 Hadoop 生态系统应用程序的 Amazon S3 连接器。
flink-client 1.11.2 Apache Flink 命令行客户端脚本和应用程序。
flink-jobmanager-config 1.11.2 在 Apache Flink JobManager 的 EMR 节点上管理资源。
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 3.2.1-amzn-2 Hadoop 命令行客户端,如“hdfs”、“hadoop”或“yarn”。
hadoop-hdfs-datanode 3.2.1-amzn-2 用于存储数据块的 HDFS 节点级服务。
hadoop-hdfs-library 3.2.1-amzn-2 HDFS 命令行客户端和库
hadoop-hdfs-namenode 3.2.1-amzn-2 用于跟踪文件名和数据块位置的 HDFS 服务。
hadoop-hdfs-journalnode 3.2.1-amzn-2 用于管理 HA 集群上的 Hadoop 文件系统日志的 HDFS 服务。
hadoop-httpfs-server 3.2.1-amzn-2 用于 HDFS 操作的 HTTP 终端节点。
hadoop-kms-server 3.2.1-amzn-2 基于 Hadoop 的 KeyProvider API 的加密密钥管理服务器。
hadoop-mapred 3.2.1-amzn-2 用于运行 MapReduce 应用程序的 MapReduce 执行引擎库。
hadoop-yarn-nodemanager 3.2.1-amzn-2 用于管理单个节点上的容器的 YARN 服务。
hadoop-yarn-resourcemanager 3.2.1-amzn-2 用于分配和管理群集资源与分布式应用程序的 YARN 服务。
hadoop-yarn-timeline-server 3.2.1-amzn-2 用于检索 YARN 应用程序的当前信息和历史信息的服务。
hbase-hmaster 2.2.6-amzn-0 用于负责协调区域和执行管理命令的 HBase 集群的服务。
hbase-region-server 2.2.6-amzn-0 用于为一个或多个 HBase 区域提供服务的服务。
hbase-client 2.2.6-amzn-0 HBase 命令行客户端。
hbase-rest-server 2.2.6-amzn-0 为 RESTful 提供 HBase HTTP 终端节点的服务。
hbase-thrift-server 2.2.6-amzn-0 向 HBase 提供 Thrift 终端节点的服务。
hcatalog-client 3.1.2-amzn-3 用于操作 hcatalog-server 的“hcat”命令行客户端。
hcatalog-server 3.1.2-amzn-3 提供 HCatalog(用于分布式应用程序的表和存储管理层)的服务。
hcatalog-webhcat-server 3.1.2-amzn-3 为 HCatalog 提供 REST 接口的 HTTP 终端节点。
hive-client 3.1.2-amzn-3 Hive 命令行客户端。
hive-hbase 3.1.2-amzn-3 Hive-hbase 客户端。
hive-metastore-server 3.1.2-amzn-3 用于访问 Hive 元存储 (一个用于存储 Hadoop 操作中的 SQL 的元数据的语义存储库) 的服务。
hive-server2 3.1.2-amzn-3 用于将 Hive 查询作为 Web 请求接受的服务。
hudi 0.6.0-amzn-1 增量处理框架,以支持低延迟和高效率的数据管道。
hudi-presto 0.6.0-amzn-1 用于运行 Presto 以及 Hudl 的捆绑库。
hudi-presql 0.6.0-amzn-1 用于通过 Hudi 运行 PrestoSQL 的捆绑库。
哈德地-斯park 0.6.0-amzn-1 用于通过 Hudi 运行 Spark 的捆绑库。
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 和反向代理服务器
mxnet 1.7.0 用于深度学习的灵活的、可扩展且高效的库。
mariadb-server 5.5.64+ MariaDB 数据库服务器。
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 5.0.0-HBase-2.0 服务器和客户端的 phoenix 库
phoenix-query-server 5.0.0-HBase-2.0 向 Avatica API 提供 JDBC 访问权限以及协议缓冲区和 JSON 格式访问权限的轻量级服务器
presto-coordinator 0.238.3-amzn-1 用于在 presto-worker 之中接受查询并管理查询的服务。
presto-worker 0.238.3-amzn-1 用于执行查询的各个部分的服务。
presto-client 0.238.3-amzn-1 Presto 命令行客户端,安装在 HA 集群的备用主服务器(未启动 Presto 服务器)上。
prestosql-coordinator 343 用于在 prestosql-workers 之间接受查询和管理查询执行的服务。
prestosql-worker 343 用于执行查询的各个部分的服务。
prestosql-client 343 Presto 命令行客户端,安装在 HA 集群的备用主服务器(未启动 Presto 服务器)上。
pig-client 0.17.0 Pig 命令行客户端。
r 3.4.3 用于统计计算的 R 项目
ranger-kms-server 2.0.0 Apache Ranger 密钥管理系统
spark-client 3.0.1-amzn-0 Spark 命令行客户端。
spark-history-server 3.0.1-amzn-0 用于查看完整的 Spark 应用程序的生命周期的已记录事件的 Web UI。
spark-on-yarn 3.0.1-amzn-0 适用于 YARN 的内存中执行引擎。
spark-yarn-slave 3.0.1-amzn-0 YARN 从属项所需的 Apache Spark 库。
火花陷阱 ID 0.2.0 使用 GPUs 加速 Apache Spark 的 Nvidia Spark QMSS 插件。
sqoop-client 1.4.7 Apache Sqoop 命令行客户端。
tensorflow 2.3.1 TensorFlow 开源软件库,可实现高性能的数值计算。
tez-on-yarn 0.9.2 tez YARN 应用程序和库。
webserver 2.4.41+ Apache HTTP 服务器。
zeppelin-server 0.9.0 预览版 1 支持交互式数据分析的基于 Web 的笔记本电脑。
zookeeper-server 3.4.14 用于维护配置信息、命名、提供分布式同步以及提供组服务的集中式服务。
zookeeper-client 3.4.14 ZooKeeper 命令行客户端。

6.2.0 配置分类

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

emr-6.2.0 分类
分类 描述

capacity-scheduler

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

container-executor

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

container-log4j

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

core-site

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

Docker-conf

更改与 Docker 相关的设置。

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-env

更改 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 的 log4j2.properties 中的值。WebHCat

hcatalog-webhcat-site

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

hive

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

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 文件中的值。

prestosql-log

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

prestosql-config

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

prestosql-password-authenticator

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

prestosql-env

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

prestosql-node

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

prestosql-connector-blackhole

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

prestosql-connector-cassandra

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

prestosql-connector-hive

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

prestosql-connector-jmx

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

prestosql-connector-kafka

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

prestosql-connector-localfile

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

prestosql-connector-memory

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

prestosql-connector-mongodb

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

prestosql-connector-mysql

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

prestosql-connector-postgresql

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

prestosql-connector-rapor

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

prestosql-connector-redis

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

prestosql-connector-redshift

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

prestosql-connector-tpch

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

prestosql-connector-tpcds

更改 PrestoSQL 的 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 上 CA 文件的值,以便与 Ranger KMS 进行 MySQL SSL 连接。

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 文件中的值。

6.1.0

6.1.0 应用程序版本

此版本支持以下应用程序: Flink, Ganglia, Hadoop, HBase, HCatalog, Hive, Hue, JupyterHub, Livy, MXNet, Oozie, Phoenix, Pig, Presto, PrestoSQL, Spark, Sqoop, TensorFlow, Tez, Zeppelin: 和 ZooKeeper.

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

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

6.1.0 发行说明

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

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

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

支持的应用程序

  • AWS SDK for Java 版本 1.11.828

  • Flink 版本 1.11.0

  • Ganglia 版本 3.7.2

  • Hadoop 版本 3.2.1-amzn-1

  • HBase 版本 2.2.5

  • HBase-operator-tools 1.0.0

  • HCatalog 版本 3.1.2-amzn-0

  • Hive 版本 3.1.2-amzn-1

  • Hudi 版本 0.5.2-incubating

  • Hue 版本 4.7.1

  • JupyterHub 版本 1.1.0

  • Livy 版本 0.7.0

  • MXNet 版本 1.6.0

  • Oozie 版本 5.2.0

  • Phoenix 版本 5.0.0

  • Presto 版本 0.232

  • PrestoSQL 版本 338

  • Spark 版本 3.0.0-amzn-0

  • TensorFlow 版本 2.1.0

  • Zeppelin 版本 0.9.0-preview1

  • Zookeeper 版本 3.4.14

  • 连接器和驱动程序:DynamoDB Connector 4.14.0

新功能

  • 从 Amazon EMR 版本 5.30.0 和 Amazon EMR 版本 6.1.0 开始支持 ARM 实例类型。

  • 从 Amazon EMR 版本 6.1.0 和 5.31.0 开始支持 M6g 通用实例类型。有关更多信息,请参阅 Amazon EMR 管理指南中的支持的实例类型

  • 自 Amazon EMR 版本 5.23.0 开始,支持将 EC2 置放群组功能用作多主节点集群的选项。目前,置放群组功能仅支持主节点类型,并且 SPREAD 策略将应用于这些主节点。SPREAD 策略在单独的底层硬件中放置一小组实例,以防止在发生硬件故障时丢失多个主节点。有关更多信息,请参阅 Amazon EMR 管理指南 中的 EMR 与 EC2 置放群组的集成

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

  • EMR 6.1.0 支持 PrestoSQL 版本 338。有关更多信息,请参阅 Presto

    • 仅 EMR 6.1.0 和更高版本支持 PrestoSQL,而 EMR 6.0.0 或 EMR 5.x 不支持。

    • 应用程序名称 Presto 继续用于在集群上安装 PrestoDB。要在集群上安装 PrestoSQL,请使用应用程序名称 PrestoSQL

    • 您可以安装 PrestoDB 或 PrestoSQL,但不能在单个集群上同时安装这两者。如果在尝试创建集群时同时指定了 PrestoDB 和 PresoSQL,则会发生验证错误,并且集群创建请求会失败。

    • 单主集群和多主集群都支持 PrestoSQL。在多主集群上,运行 PrestoSQL 或 PrestoDB 需要外部 Hive 元存储。请参阅具有多个主节点的 EMR 集群中支持的应用程序

  • 在 Apache Hadoop 和带有 Docker 的 Apache Spark 上的 ECR 自动身份验证支持:Spark 用户可以使用来自 Docker Hub 和 Amazon Elastic Container Registry (Amazon ECR) 的 Docker 映像来定义环境和库依赖关系。

    配置 Docker使用 Amazon EMR 6.x 通过 Docker 运行 Spark 应用程序

  • EMR 支持 Apache Hive ACID 事务:Amazon EMR 6.1.0 添加了对 Hive ACID 事务的支持,因此它符合数据库的 ACID 属性。借助此功能,您可以对 Hive 托管表以及 Amazon Simple Storage Service (Amazon S3) 中的数据运行 INSERT、UPDATE、DELETE 和 MERGE 操作。这是下面这些使用案例的关键功能:例如,流式处理摄取、数据重新声明、使用 MERGE 进行批量更新以及缓慢更改维度。有关更多信息(包括配置示例和使用案例),请参阅 Amazon EMR 支持 Apache Hive ACID 事务

更改、增强和解决的问题

  • 在 EMR 6.0.0 上不支持 Apache Flink,但在使用 Flink 1.11.0 的 EMR 6.1.0 上支持它。这是第一个正式支持 Hadoop 3 的 Flink 版本。请参阅 Apache Flink 1.11.0 版本公告

  • 已从默认 EMR 6.1.0 程序捆绑包中删除了 Ganglia。

已知问题

  • Lower "Max open files" limit on older AL2. Amazon EMR releases: emr-5.30.x, emr-5.31.0, emr-5.32.0, emr-6.0.0, emr-6.1.0, and emr-6.2.0 are based on older versions of Amazon Linux 2 (AL2), which have a lower ulimit setting for “Max open files” when EMR clusters are created with the default AMI. The lower open file limit causes a "Too many open files" error when submitting Spark job. In the impacted EMR releases, the Amazon EMR default AMI has a default ulimit setting of 4096 for "Max open files," which is lower than the 65536 file limit in the latest Amazon Linux 2 AMI. The lower ulimit setting for "Max open files" causes Spark job failure when the Spark driver and executor try to open more than 4096 files. To fix the issue, Amazon EMR has a bootstrap action (BA) script that adjusts the ulimit setting at cluster creation. Amazon EMR releases 6.3.0 and 5.33.0 will include a permanent fix with a higher "Max open files" setting.

    The following workaround for this issue lets you to explicitly set the instance-controller ulimit to a maximum of 65536 files.

    Explicitly set a ulimit from the command line

    1. Edit /etc/systemd/system/instance-controller.service to add the following parameters to Service section.

      LimitNOFILE=65536

      LimitNPROC=65536

    2. Restart InstanceController

      $ sudo systemctl daemon-reload

      $ sudo systemctl restart instance-controller

    Set a ulimit using bootstrap action (BA)

    You can also use a bootstrap action (BA) script to configure the instance-controller ulimit to 65536 files at cluster creation.

    #!/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 6.1.0 和 6.2.0 包含一个性能问题,此问题可能会严重影响所有 Hudi 插入、更新插入和删除操作。如果您计划将 Hudi 与 Amazon EMR 6.1.0 或 6.2.0 结合使用,则应联系 AWS Support 以获取已修补的 Hudi RPM。

  • 如果使用 spark.driver.extraJavaOptionsspark.executor.extraJavaOptions 设置自定义垃圾回收配置,则由于垃圾回收配置冲突,这将导致 EMR 6.1 发生驱动程序/执行程序启动失败。使用 EMR 版本 6.1.0,您应该使用属性 spark.driver.defaultJavaOptionsspark.executor.defaultJavaOptions 为驱动程序和执行程序指定自定义 Spark 垃圾收集配置。详细了解 Apache Spark 运行时环境在 Amazon EMR 6.1.0 上配置 Spark 垃圾回收

  • 将 Pig 与 Oozie 结合使用(以及与 Hue 结合使用,因为 Hue 使用 Oozie 操作来运行 Pig 脚本)会生成一个错误,指出无法加载 native-lzo 库。此错误消息是信息性的,不会阻止 Pig 运行。

  • Hudi 并发支持:目前 Hudi 不支持对单个 Hudi 表进行并发写入。此外,Hudi 会回滚正在运行的编写器所做的任何更改,然后再允许新的编写器启动。并发写入可能会干扰此机制并引入竞争条件,从而导致数据损坏。您应确保:作为数据处理工作流程的一部分,随时只有一个 Hudi 写入器对 Hudi 表进行操作。Hudi 的确支持针对同一 Hudi 表运行多个并发读取器。

  • Known issue in clusters with multiple master nodes and Kerberos authentication

    If you run clusters with multiple master nodes and Kerberos authentication in EMR releases 5.20.0 and later, you may encounter problems with cluster operations such as scale down or step submission, after the cluster has been running for some time. The time period depends on the Kerberos ticket validity period that you defined. The scale-down problem impacts both automatic scale-down and explicit scale down requests that you submitted. Additional cluster operations can also be impacted.

    Workaround:

    • SSH as hadoop user to the lead master node of the EMR cluster with multiple master nodes.

    • Run the following command to renew Kerberos ticket for hadoop user.

      kinit -kt <keytab_file> <principal>

      Typically, the keytab file is located at /etc/hadoop.keytab and the principal is in the form of hadoop/<hostname>@<REALM>.

    注意

    This workaround will be effective for the time period the Kerberos ticket is valid. This duration is 10 hours by default, but can configured by your Kerberos settings. You must re-run the above command once the Kerberos ticket expires.

  • Amazon EMR 6.1.0 中存在一个问题,该问题影响运行 Presto 的集群。在一段较长的时间(若干天)之后,集群可能会引发错误,例如,“su: failed to execute /bin/bash: Resource temporarily unavailable”(su: 无法执行 /bin/bash: 资源暂时不可用)或“shell request failed on channel 0”(通道 0 上的 Shell 请求失败)。此问题是由内部 Amazon EMR 进程 (InstanceController) 导致的,该进程产生太多的轻量级进程 (LWP),这最终导致 Hadoop 用户超出其 nproc 限制。这会阻止用户打开其他进程。此问题的解决方案是升级到 EMR 6.2.0。

6.1.0 组件版本

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

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

组件 版本 Description
aws-sagemaker-spark-sdk 1.3.0 Amazon SageMaker Spark 开发工具包
emr-ddb 4.14.0 适用于 Hadoop 生态系统应用程序的 Amazon DynamoDB 连接器。
emr-goodies 3.1.0 适用于 Hadoop 生态系统的方便易用的库。
emr-kinesis 3.5.0 适用于 Hadoop 生态系统应用程序的 Amazon Kinesis 连接器。
emr-s3-dist-cp emrfs 针对 Amazon S3 优化的分布式复制应用程序。
emr-s3-select 2.0.0 EMR S3 Select 连接器
emrfs 2.42.0 适用于 Hadoop 生态系统应用程序的 Amazon S3 连接器。
flink-client 1.11.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 3.2.1-amzn-1 Hadoop 命令行客户端,如“hdfs”、“hadoop”或“yarn”。
hadoop-hdfs-datanode 3.2.1-amzn-1 用于存储数据块的 HDFS 节点级服务。
hadoop-hdfs-library 3.2.1-amzn-1 HDFS 命令行客户端和库
hadoop-hdfs-namenode 3.2.1-amzn-1 用于跟踪文件名和数据块位置的 HDFS 服务。
hadoop-hdfs-journalnode 3.2.1-amzn-1 用于管理 HA 集群上的 Hadoop 文件系统日志的 HDFS 服务。
hadoop-httpfs-server 3.2.1-amzn-1 用于 HDFS 操作的 HTTP 终端节点。
hadoop-kms-server 3.2.1-amzn-1 基于 Hadoop 的 KeyProvider API 的加密密钥管理服务器。
hadoop-mapred 3.2.1-amzn-1 用于运行 MapReduce 应用程序的 MapReduce 执行引擎库。
hadoop-yarn-nodemanager 3.2.1-amzn-1 用于管理单个节点上的容器的 YARN 服务。
hadoop-yarn-resourcemanager 3.2.1-amzn-1 用于分配和管理集群资源与分布式应用程序的 YARN 服务。
hadoop-yarn-timeline-server 3.2.1-amzn-1 用于检索 YARN 应用程序的当前信息和历史信息的服务。
hbase-hmaster 2.2.5 适用于负责协调区域和执行管理命令的 HBase 集群的服务。
hbase-region-server 2.2.5 用于服务于一个或多个 HBase 区域的服务。
hbase-client 2.2.5 HBase 命令行客户端。
hbase-rest-server 2.2.5 用于向 HBase 提供 RESTful HTTP 终端节点的服务。
hbase-thrift-server 2.2.5 用于向 HBase 提供 Thrift 终端节点的服务。
hcatalog-client 3.1.2-amzn-2 用于操作 hcatalog-server 的“hcat”命令行客户端。
hcatalog-server 3.1.2-amzn-2 用于为分布式应用程序提供 HCatalog、表和存储管理层的服务。
hcatalog-webhcat-server 3.1.2-amzn-2 用于向 HCatalog 提供 REST 接口的 HTTP 终端节点。
hive-client 3.1.2-amzn-2 Hive 命令行客户端。
hive-hbase 3.1.2-amzn-2 Hive-hbase 客户端。
hive-metastore-server 3.1.2-amzn-2 用于访问 Hive 元存储 (一个用于存储 Hadoop 操作中的 SQL 的元数据的语义存储库) 的服务。
hive-server2 3.1.2-amzn-2 用于将 Hive 查询作为 Web 请求接受的服务。
hudi 0.5.2-孵育-amzn-2 增量处理框架,以支持低延迟和高效率的数据管道。
hudi-presto 0.5.2-孵育-amzn-2 用于运行 Presto 以及 Hudl 的捆绑库。
hudi-prestosql 0.5.2-孵育-amzn-2 与Hudi一起运行PrestoBMC的软件包库。
乌迪山谷 0.5.2-孵育-amzn-2 使用Hudi运行Spark的软件包库。
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 和反向代理服务器
mxnet。 1.6.0 用于深度学习的灵活的、可扩展且高效的库。
mariadb-server 5.5.64 MariaDB 数据库服务器。
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 5.0.0-HBase-2.0 服务器和客户端的 phoenix 库
phoenix-query-server 5.0.0-HBase-2.0 向 Avatica API 提供 JDBC 访问权限以及协议缓冲区和 JSON 格式访问权限的轻量级服务器
presto-coordinator 0.232 用于在 presto-worker 之中接受查询并管理查询的服务。
presto-worker 0.232 用于执行查询的各个部分的服务。
presto-client 0.232 Presto 命令行客户端,安装在 HA 集群的备用主服务器(未启动 Presto 服务器)上。
prestosql-协调器 338 为prestoql-workers接受查询和管理查询执行提供服务。
prestosql-工人 338 用于执行查询的各个部分的服务。
prestosql-客户 338 Presto 命令行客户端,安装在 HA 集群的备用主服务器(未启动 Presto 服务器)上。
pig-client 0.17.0 Pig 命令行客户端。
-r 3.4.3 用于统计计算的 R 项目
ranger-kms-server 2.0.0 Apache Ranger 密钥管理系统
spark-client 3.0.0-amzn-0 Spark 命令行客户端。
spark-history-server 3.0.0-amzn-0 用于查看完整的 Spark 应用程序的生命周期的已记录事件的 Web UI。
spark-on-yarn 3.0.0-amzn-0 适用于 YARN 的内存中执行引擎。
spark-yarn-slave 3.0.0-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.41+ Apache HTTP 服务器。
zeppelin-server 0.9.0-预览1 支持交互式数据分析的基于 Web 的笔记本电脑。
zookeeper-server 3.4.14 用于维护配置信息、命名、提供分布式同步以及提供组服务的集中式服务。
zookeeper-client 3.4.14 ZooKeeper 命令行客户端。

6.1.0 配置分类

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

emr-6.1.0分类
分类 Description

capacity-scheduler

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

container-executor

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

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-env

更改 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

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

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 文件中的值。

prestosql-log

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

prestosql-配置

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

prestosql-password-authenticator

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

prestosql-env

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

prestosql-node

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

prestosql-接头-黑孔

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

prestosql-接头-Cassandra

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

prestosql-接头-hive

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

prestosql-contor-jmx

更改PrestoQLjmx.properties文件中的值。

prestosql-接头-kafka

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

prestosql-contor-localfile

更改PrestoModel'slocalfile.properties文件中的值。

prestosql-接头-内存

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

prestosql-接头-Mongodb

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

prestosql-接头-mysql

更改PrestoQLmysql.properties文件中的值。

prestosql-接头-postgresql

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

prestosql-接头-分离器

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

prestosql-接头-redis

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

prestosql-接头-红移

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

prestosql-接头-tpch

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

prestosql-接头-tpcs

更改PrestoQL的tpcs.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 文件的值。

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 文件中的值。

6.0.0

6.0.0 应用程序版本

此版本支持以下应用程序: Ganglia, Hadoop, HBase, HCatalog, Hive, Hue, JupyterHub, Livy, MXNet, Oozie, Phoenix, Presto, Spark, TensorFlow, Tez, Zeppelin: 和 ZooKeeper.

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

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

6.0.0 发行说明

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

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

支持的应用程序

  • AWS SDK for Java 版本 1.11.711

  • Ganglia 版本 3.7.2

  • Hadoop 版本 3.2.1

  • HBase 版本 2.2.3

  • HCatalog 版本 3.1.2

  • Hive 版本 3.1.2

  • Hudi 版本 0.5.0-incubating

  • Hue 版本 4.4.0

  • JupyterHub 版本 1.0.0

  • Livy 版本 0.6.0

  • MXNet 版本 1.5.1

  • Oozie 版本 5.1.0

  • Phoenix 版本 5.0.0

  • Presto 版本 0.230

  • Spark 版本 2.4.4

  • TensorFlow 版本 1.14.0

  • Zeppelin 版本 0.9.0-SNAPSHOT

  • Zookeeper 版本 3.4.14

  • 连接器和驱动程序:DynamoDB 连接器 4.14.0

注意

Flink、Sqoop、Pig 和 Mahout 在 Amazon EMR 版本 6.0.0 中不可用。

新功能

更改、增强和解决的问题

  • Amazon Linux

    • Amazon Linux 2 是 EMR 6.x 发布版本系列的操作系统。

    • systemd 用于服务管理,而不是 Amazon Linux 1 中使用的 upstart

  • Java 开发工具包 (JDK)

    • Coretto JDK 8 是 EMR 6.x 发布版本系列的默认 JDK。

  • Scala

    • Scala 2.12 与 Apache Spark 和 Apache Livy 一起使用。

  • Python 3

    • Python 3 现在是 EMR 中的默认 Python 版本。

  • YARN 节点标签

    • 从 Amazon EMR 6.x 发布版本系列开始,默认情况下禁用 YARN 节点标签功能。默认情况下,应用程序主进程可以在核心节点和任务节点上运行。您可以通过配置以下属性来启用 YARN 节点标签功能:yarn.node-labels.enabledyarn.node-labels.am.default-node-label-expression。有关更多信息,请参阅了解主节点、核心节点和任务节点

已知问题

  • Lower "Max open files" limit on older AL2. Amazon EMR releases: emr-5.30.x, emr-5.31.0, emr-5.32.0, emr-6.0.0, emr-6.1.0, and emr-6.2.0 are based on older versions of Amazon Linux 2 (AL2), which have a lower ulimit setting for “Max open files” when EMR clusters are created with the default AMI. The lower open file limit causes a "Too many open files" error when submitting Spark job. In the impacted EMR releases, the Amazon EMR default AMI has a default ulimit setting of 4096 for "Max open files," which is lower than the 65536 file limit in the latest Amazon Linux 2 AMI. The lower ulimit setting for "Max open files" causes Spark job failure when the Spark driver and executor try to open more than 4096 files. To fix the issue, Amazon EMR has a bootstrap action (BA) script that adjusts the ulimit setting at cluster creation. Amazon EMR releases 6.3.0 and 5.33.0 will include a permanent fix with a higher "Max open files" setting.

    The following workaround for this issue lets you to explicitly set the instance-controller ulimit to a maximum of 65536 files.

    Explicitly set a ulimit from the command line

    1. Edit /etc/systemd/system/instance-controller.service to add the following parameters to Service section.

      LimitNOFILE=65536

      LimitNPROC=65536

    2. Restart InstanceController

      $ sudo systemctl daemon-reload

      $ sudo systemctl restart instance-controller

    Set a ulimit using bootstrap action (BA)

    You can also use a bootstrap action (BA) script to configure the instance-controller ulimit to 65536 files at cluster creation.

    #!/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
  • Spark 交互式 shell(包括 PySpark、SparkR 和 spark-shell)不支持将 Docker 与其他库一起使用。

  • 要将 Python 3 与 Amazon EMR 版本 6.0.0 一起使用,您必须将 PATH 添加到 yarn.nodemanager.env-whitelist

  • 当您使用 AWS Glue 数据目录作为 Hive 的元存储时,不支持长时间和处理 (LLAP) 功能。

  • 将 Amazon EMR 6.0.0 与 Spark 和 Docker 集成结合使用时,您需要将集群中的实例配置为相同的实例类型和相同数量的 EBS 卷,以避免在使用 Docker 运行时提交 Spark 作业时失败。

  • 在 Amazon EMR 6.0.0 中,Amazon S3 存储模式上的 HBase 受到 HBASE-24286 问题的影响。使用现有 S3 数据创建集群时,HBase 主服务器无法初始化。

  • Known issue in clusters with multiple master nodes and Kerberos authentication

    If you run clusters with multiple master nodes and Kerberos authentication in EMR releases 5.20.0 and later, you may encounter problems with cluster operations such as scale down or step submission, after the cluster has been running for some time. The time period depends on the Kerberos ticket validity period that you defined. The scale-down problem impacts both automatic scale-down and explicit scale down requests that you submitted. Additional cluster operations can also be impacted.

    Workaround:

    • SSH as hadoop user to the lead master node of the EMR cluster with multiple master nodes.

    • Run the following command to renew Kerberos ticket for hadoop user.

      kinit -kt <keytab_file> <principal>

      Typically, the keytab file is located at /etc/hadoop.keytab and the principal is in the form of hadoop/<hostname>@<REALM>.

    注意

    This workaround will be effective for the time period the Kerberos ticket is valid. This duration is 10 hours by default, but can configured by your Kerberos settings. You must re-run the above command once the Kerberos ticket expires.

6.0.0 组件版本

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

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

组件 版本 描述
aws-sagemaker-spark-sdk 1.2.6 Amazon SageMaker Spark 开发工具包
emr-ddb 4.14.0 适用于 Hadoop 生态系统应用程序的 Amazon DynamoDB 连接器。
emr-goodies 3.0.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.39.0 适用于 Hadoop 生态系统应用程序的 Amazon S3 连接器。
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 3.2.1-amzn-0 Hadoop 命令行客户端,如“hdfs”、“hadoop”或“yarn”。
hadoop-hdfs-datanode 3.2.1-amzn-0 用于存储数据块的 HDFS 节点级服务。
hadoop-hdfs-library 3.2.1-amzn-0 HDFS 命令行客户端和库
hadoop-hdfs-namenode 3.2.1-amzn-0 用于跟踪文件名和数据块位置的 HDFS 服务。
hadoop-hdfs-journalnode 3.2.1-amzn-0 用于管理 HA 集群上的 Hadoop 文件系统日志的 HDFS 服务。
hadoop-httpfs-server 3.2.1-amzn-0 用于 HDFS 操作的 HTTP 终端节点。
hadoop-kms-server 3.2.1-amzn-0 基于 Hadoop 的 KeyProvider API 的加密密钥管理服务器。
hadoop-mapred 3.2.1-amzn-0 用于运行 MapReduce 应用程序的 MapReduce 执行引擎库。
hadoop-yarn-nodemanager 3.2.1-amzn-0 用于管理单个节点上的容器的 YARN 服务。
hadoop-yarn-resourcemanager 3.2.1-amzn-0 用于分配和管理群集资源与分布式应用程序的 YARN 服务。
hadoop-yarn-timeline-server 3.2.1-amzn-0 用于检索 YARN 应用程序的当前信息和历史信息的服务。
hbase-hmaster 2.2.3 适用于负责协调区域和执行管理命令的 HBase 集群的服务。
hbase-region-server 2.2.3 用于服务于一个或多个 HBase 区域的服务。
hbase-client 2.2.3 HBase 命令行客户端。
hbase-rest-server 2.2.3 用于向 HBase 提供 RESTful HTTP 终端节点的服务。
hbase-thrift-server 2.2.3 用于向 HBase 提供 Thrift 终端节点的服务。
hcatalog-client 3.1.2-amzn-0 用于操作 hcatalog-server 的“hcat”命令行客户端。
hcatalog-server 3.1.2-amzn-0 用于为分布式应用程序提供 HCatalog、表和存储管理层的服务。
hcatalog-webhcat-server 3.1.2-amzn-0 用于向 HCatalog 提供 REST 接口的 HTTP 终端节点。
hive-client 3.1.2-amzn-0 Hive 命令行客户端。
hive-hbase 3.1.2-amzn-0 Hive-hbase 客户端。
hive-metastore-server 3.1.2-amzn-0 用于访问 Hive 元存储 (一个用于存储 Hadoop 操作中的 SQL 的元数据的语义存储库) 的服务。
hive-server2 3.1.2-amzn-0 用于将 Hive 查询作为 Web 请求接受的服务。
hudi 0.5.0-incubating-amzn-1 增量处理框架,以支持低延迟和高效率的数据管道。
hudi-presto 0.5.0-incubating-amzn-1 用于运行 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 和反向代理服务器
mxnet 1.5.1 用于深度学习的灵活的、可扩展且高效的库。
mariadb-server 5.5.64+ MariaDB 数据库服务器。
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 5.0.0-HBase-2.0 服务器和客户端的 phoenix 库
phoenix-query-server 5.0.0-HBase-2.0 向 Avatica API 提供 JDBC 访问权限以及协议缓冲区和 JSON 格式访问权限的轻量级服务器
presto-coordinator 0.230 用于在 presto-worker 之中接受查询并管理查询的服务。
presto-worker 0.230 用于执行查询的各个部分的服务。
presto-client 0.230 Presto 命令行客户端,安装在 HA 集群的备用主服务器(未启动 Presto 服务器)上。
r 3.4.3 用于统计计算的 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 库。
tensorflow 1.14.0 适用于高性能数值计算的 TensorFlow 开源软件库。
tez-on-yarn 0.9.2 tez YARN 应用程序和库。
webserver 2.4.41+ Apache HTTP 服务器。
zeppelin-server 0.9.0-SNAPSHOT 支持交互式数据分析的基于 Web 的笔记本电脑。
zookeeper-server 3.4.14 用于维护配置信息、命名、提供分布式同步以及提供组服务的集中式服务。
zookeeper-client 3.4.14 ZooKeeper 命令行客户端。

6.0.0 配置分类

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

emr-6.0.0 分类
分类 描述

capacity-scheduler

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

container-executor

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

container-log4j

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

core-site

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

emrfs-site

更改 EMRFS 设置。

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-env

更改 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

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

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 文件中的值。

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 文件中的值。

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 文件中的值。