本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon EMR 发行版 5.10.0
5.10.0 应用程序版本
此版本包括以下应用程序:Flink
下表列出了此版本的 Amazon EMR 中提供的应用程序版本以及前三个 Amazon EMR 发行版中的应用程序版本(若适用)。
有关每个发行版的 Amazon EMR 的应用程序版本的全面历史记录,请参见以下主题:
emr-5.10.0 | emr-5.9.1 | emr-5.9.0 | emr-5.8.3 | |
---|---|---|---|---|
AWS 适用于 Java 的 SDK | 1.11.221 | 1.11.183 | 1.11.183 | 1.11.160 |
Python | 2.7、3.4 | 未跟踪 | 未跟踪 | 未跟踪 |
Scala | 2.11.8 | 2.11.8 | 2.11.8 | 2.11.8 |
AmazonCloudWatchAgent | - | - | - | - |
Delta | - | - | - | - |
Flink | 1.3.2 | 1.3.2 | 1.3.2 | 1.3.1 |
Ganglia | 3.7.2 | 3.7.2 | 3.7.2 | 3.7.2 |
HBase | 1.3.1 | 1.3.1 | 1.3.1 | 1.3.1 |
HCatalog | 2.3.1 | 2.3.0 | 2.3.0 | 2.3.0 |
Hadoop | 2.7.3 | 2.7.3 | 2.7.3 | 2.7.3 |
Hive | 2.3.1 | 2.3.0 | 2.3.0 | 2.3.0 |
Hudi | - | - | - | - |
Hue | 4.0.1 | 4.0.1 | 4.0.1 | 3.12.0 |
Iceberg | - | - | - | - |
JupyterEnterpriseGateway | - | - | - | - |
JupyterHub | - | - | - | - |
Livy | 0.4.0 | 0.4.0 | 0.4.0 | - |
MXNet | 0.12.0 | - | - | - |
Mahout | 0.13.0 | 0.13.0 | 0.13.0 | 0.13.0 |
Oozie | 4.3.0 | 4.3.0 | 4.3.0 | 4.3.0 |
Phoenix | 4.11.0 | 4.11.0 | 4.11.0 | 4.11.0 |
Pig | 0.17.0 | 0.17.0 | 0.17.0 | 0.16.0 |
Presto | 0.187 | 0.184 | 0.184 | 0.170 |
Spark | 2.2.0 | 2.2.0 | 2.2.0 | 2.2.0 |
Sqoop | 1.4.6 | 1.4.6 | 1.4.6 | 1.4.6 |
TensorFlow | - | - | - | - |
Tez | 0.8.4 | 0.8.4 | 0.8.4 | 0.8.4 |
Trino (prestoSQL) | - | - | - | - |
Zeppelin | 0.7.3 | 0.7.2 | 0.7.2 | 0.7.2 |
ZooKeeper | 3.4.10 | 3.4.10 | 3.4.10 | 3.4.10 |
5.10.0 发布说明
以下发布说明包括有关 Amazon EMR 发行版 5.10.0 的信息。更改与 Amazon EMR 5.9.0 发行版有关。
升级
AWS SDK for Java 1.11.221
Hive 2.3.1
Presto 0.187
新特征
添加了对 Kerberos 身份验证的支持。有关更多信息,请参阅《Amazon EMR 管理指南》中的使用 Kerberos 身份验证。
添加了对适用于 EMRFS 的 IAM 角色的支持。有关更多信息,请参阅《Amazon EMR 管理指南》中的为处理 EMRFS 对 Amazon S3 的请求配置 IAM 角色。
添加了对基于 GPU 的 P2 和 P3 实例类型的支持。有关更多信息,请参阅亚马逊 EC2 P2 实例
和亚马逊 EC2 P3 实例。NVIDIA 驱动程序 384.81 和 CUDA 驱动程序 9.0.176 默认安装在这些实例类型上。 增加了对 Apache MXNet 的支持。
更改、增强功能和解决的问题
Presto
增加了对使用 Glue 数据 AWS 目录作为默认 Hive 元数据仓的支持。有关更多信息,请参阅将 Presto 与 AWS Glue 数据目录配合使用。
添加了对地理空间函数
的支持。 为联接添加了溢出到磁盘
支持。 添加了对 Redshift 连接器
的支持。
Spark
已逆向移植 SPARK-20640
,这使随机注册的 rpc 超时值和重试次数值可使用 spark.shuffle.registration.timeout
和spark.shuffle.registration.maxAttempts
属性进行配置。向后移植的 SPARK-21549
,它更正了将自定义内容写入非 HDFS 位置时发生 OutputFormat 的错误。
已逆向移植 Hadoop 13270
从基本 Amazon EMR AMI 中删除了 Numpy、Scipy 和 Matplotlib 库。如果您的应用程序需要这些库,应用程序存储库中提供了它们,因此您可以通过引导操作使用
yum install
在所有节点上安装它们。Amazon EMR 基本 AMI 不再包含应用程序 RPM 软件包,因此集群节点上不再存在 RPM 软件包。Custom AMIs 和 Amazon EMR 基本 AMI 现在引用了 Amazon S3 中的 RPM 包存储库。
由于 Amazon 引入了按秒计费 EC2,因此默认的缩减行为现在是任务完成时终止,而不是在实例时间终止。有关更多信息,请参阅配置集群缩减。
已知问题
MXNet 不包括 OpenCV 库。
默认情况下,Hive 2.3.1 设置
hive.compute.query.using.stats=true
。这会导致查询从现有统计数据而不是直接从数据中获取数据,这可能会造成混淆。例如,如果您有一个包含hive.compute.query.using.stats=true
的表并且将新文件上载到表LOCATION
,则在该表上运行SELECT COUNT(*)
查询会返回来自统计数据的计数,而不是选择已添加的行。作为解决方法,请使用
ANALYZE TABLE
命令收集新的统计数据,或者设置hive.compute.query.using.stats=false
。有关更多信息,请参阅 Apache Hive 文档中的 Hive 中的统计数据。
5.10.0 组件版本
下面列出了 Amazon EMR 随此发行版一起安装的组件。一些组件作为大数据应用程序包的一部分安装。其它组件是 Amazon EMR 独有的,并且已为系统流程和功能安装这些组件。它们通常以 emr
或 aws
开头。最新的 Amazon EMR 发行版中的大数据应用程序包通常是在社区中找到的最新版本。我们会尽快在 Amazon EMR 中提供社区发行版。
Amazon EMR 中的某些组件与社区版本不同。这些组件具有以下形式的
的发行版标注。CommunityVersion
-amzn-EmrVersion
从 0 开始。例如,假设已对名为 EmrVersion
myapp-component
的版本 2.2 的开源社区组件进行三次修改,以包含在不同的 Amazon EMR 发行版中,则其发行版将为 2.2-amzn-2
。
组件 | 版本 | 描述 |
---|---|---|
emr-ddb | 4.5.0 | 适用于 Hadoop 生态系统应用程序的 Amazon DynamoDB 连接器。 |
emr-goodies | 2.4.0 | 适用于 Hadoop 生态系统的方便易用的库。 |
emr-kinesis | 3.4.0 | 适用于 Hadoop 生态系统应用程序的 Amazon Kinesis 连接器。 |
emr-s3-dist-cp | 2.7.0 | 针对 Amazon S3 优化的分布式复制应用程序。 |
emrfs | 2.20.0 | 适用于 Hadoop 生态系统应用程序的 Amazon S3 连接器。 |
flink-client | 1.3.2 | 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.7.3-amzn-5 | Hadoop 命令行客户端,如“hdfs”、“hadoop”或“yarn”。 |
hadoop-hdfs-datanode | 2.7.3-amzn-5 | 用于存储数据块的 HDFS 节点级服务。 |
hadoop-hdfs-library | 2.7.3-amzn-5 | HDFS 命令行客户端和库 |
hadoop-hdfs-namenode | 2.7.3-amzn-5 | 用于跟踪文件名和数据块位置的 HDFS 服务。 |
hadoop-httpfs-server | 2.7.3-amzn-5 | 用于 HDFS 操作的 HTTP 终端节点。 |
hadoop-kms-server | 2.7.3-amzn-5 | 基于 Hadoop 的 API 的加密密钥管理服务器。 KeyProvider |
hadoop-mapred | 2.7.3-amzn-5 | MapReduce 用于运行 MapReduce 应用程序的执行引擎库。 |
hadoop-yarn-nodemanager | 2.7.3-amzn-5 | 用于管理单个节点上的容器的 YARN 服务。 |
hadoop-yarn-resourcemanager | 2.7.3-amzn-5 | 用于分配和管理集群资源与分布式应用程序的 YARN 服务。 |
hadoop-yarn-timeline-server | 2.7.3-amzn-5 | 用于检索 YARN 应用程序的当前信息和历史信息的服务。 |
hbase-hmaster | 1.3.1 | 为负责协调区域和执行管理命令的 HBase 集群提供服务。 |
hbase-region-server | 1.3.1 | 为一个或多个 HBase 地区提供服务的服务。 |
hbase-client | 1.3.1 | HBase 命令行客户端。 |
hbase-rest-server | 1.3.1 | 为其提供 RESTful HTTP 端点的服务 HBase。 |
hbase-thrift-server | 1.3.1 | 为其提供 Thrift 端点的 HBase服务。 |
hcatalog-client | 2.3.1-amzn-0 | 用于操作 hcatalog-server 的“hcat”命令行客户端。 |
hcatalog-server | 2.3.1-amzn-0 | 提供服务 HCatalog,为分布式应用程序提供表和存储管理层。 |
hcatalog-webhcat-server | 2.3.1-amzn-0 | 为其提供 REST 接口的 HTTP 端点 HCatalog。 |
hive-client | 2.3.1-amzn-0 | Hive 命令行客户端。 |
hive-hbase | 2.3.1-amzn-0 | Hive-hbase 客户端。 |
hive-metastore-server | 2.3.1-amzn-0 | 用于访问 Hive 元存储 (一个用于存储 Hadoop 操作中的 SQL 的元数据的语义存储库) 的服务。 |
hive-server2 | 2.3.1-amzn-0 | 用于将 Hive 查询作为 Web 请求接受的服务。 |
hue-server | 4.0.1 | 用于使用 Hadoop 生态系统应用程序分析数据的 Web 应用程序 |
livy-server | 0.4.0-incubating | 用于与 Apache Spark 交互的 REST 接口 |
mahout-client | 0.13.0 | 用于机器学习的库。 |
mxnet | 0.12.0 | 用于深度学习的灵活的、可扩展且高效的库。 |
mysql-server | 5.5.54+ | MySQL 数据库服务器。 |
nvidia-cuda | 9.0.176 | Nvidia 驱动程序和 Cuda 工具包 |
oozie-client | 4.3.0 | Oozie 命令行客户端。 |
oozie-server | 4.3.0 | 用于接受 Oozie 工作流请求的服务。 |
phoenix-library | 4.11.0--1.3 HBase | 服务器和客户端的 phoenix 库 |
phoenix-query-server | 4.11.0--1.3 HBase | 向 Avatica API 提供 JDBC 访问权限以及协议缓冲区和 JSON 格式访问权限的轻量级服务器 |
presto-coordinator | 0.187 | 用于在 presto-worker 之中接受查询并管理查询的服务。 |
presto-worker | 0.187 | 用于执行查询的各个部分的服务。 |
pig-client | 0.17.0 | Pig 命令行客户端。 |
spark-client | 2.2.0 | Spark 命令行客户端。 |
spark-history-server | 2.2.0 | 用于查看完整的 Spark 应用程序的生命周期的已记录事件的 Web UI。 |
spark-on-yarn | 2.2.0 | 适用于 YARN 的内存中执行引擎。 |
spark-yarn-slave | 2.2.0 | YARN 从属项所需的 Apache Spark 库。 |
sqoop-client | 1.4.6 | Apache Sqoop 命令行客户端。 |
tez-on-yarn | 0.8.4 | tez YARN 应用程序和库。 |
webserver | 2.4.25+ | Apache HTTP 服务器。 |
zeppelin-server | 0.7.3 | 支持交互式数据分析的基于 Web 的 Notebook。 |
zookeeper-server | 3.4.10 | 用于维护配置信息、命名、提供分布式同步以及提供组服务的集中式服务。 |
zookeeper-client | 3.4.10 | ZooKeeper 命令行客户端。 |
5.10.0 配置分类
配置分类允许您自定义应用程序。这些通常与应用程序的配置 XML 文件(例如 hive-site.xml
)相对应。有关更多信息,请参阅配置应用程序。
分类 | 描述 |
---|---|
capacity-scheduler | 更改 Hadoop 的 capacity-scheduler.xml 文件中的值。 |
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 的 hdfs-site.xml 中的值。 |
hcatalog-env | 更改环境 HCatalog中的值。 |
hcatalog-server-jndi | 更改 HCatalog的 jndi.properties 中的值。 |
hcatalog-server-proto-hive-site | 更改 proto-hive-site .x HCatalog ml 中的值。 |
hcatalog-webhcat-env | 更改 HCatalog Web 环境HCat中的值。 |
hcatalog-webhcat-log4j2 | 更改 HCatalog Web HCat 的 log4j2.properties 中的值。 |
hcatalog-webhcat-site | 更改 HCatalog Web HCat 的 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 文件中的值。 |
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-properties | 更改 Pig 的 pig.properties 文件中的值。 |
pig-log4j | 更改 Pig 的 log4j.properties 文件中的值。 |
presto-log | 更改 Presto 的 log.properties 文件中的值。 |
presto-config | 更改 Presto 的 config.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-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-tpch | 更改 Presto 的 tpch.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 文件中的值。 |