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 SDK for Java | 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 实例类型的支持。有关更多信息,请参阅 Amazon EC2 P2 实例
和 Amazon EC2 P3 实例 。NVIDIA 驱动程序 384.81 和 CUDA 驱动程序 9.0.176 默认安装在这些实例类型上。 增加了对 Apache MXNet 的支持。
更改、增强功能和解决的问题
Presto
添加了对使用 AWS Glue 数据目录作为默认 Hive 元存储的支持。有关更多信息,请参阅将 Presto 与 AWS Glue 数据目录结合使用。
添加了对地理空间函数
的支持。 为联接添加了溢出到磁盘
支持。 添加了对 Redshift 连接器
的支持。
Spark
已逆向移植 SPARK-20640
,这使随机注册的 rpc 超时值和重试次数值可使用 spark.shuffle.registration.timeout
和spark.shuffle.registration.maxAttempts
属性进行配置。已逆向移植 SPARK-21549
,这更正了在将自定义 OutputFormat 写入非 HDFS 位置时出现的错误。
已逆向移植 Hadoop 13270
从基本 Amazon EMR AMI 中删除了 Numpy、Scipy 和 Matplotlib 库。如果您的应用程序需要这些库,应用程序存储库中提供了它们,因此您可以通过引导操作使用
yum install
在所有节点上安装它们。Amazon EMR 基本 AMI 不再包含应用程序 RPM 软件包,因此集群节点上不再存在 RPM 软件包。自定义 AMI 和 Amazon EMR 基本 AMI 现在引用 Amazon S3 中的 RPM 软件包存储库。
因为 Amazon EC2 中引入了按秒计费,默认的 Scale down behavior (缩减行为) 现在为 Terminate at task completion (在任务完成时终止) 而非 Terminate at instance hour (在实例小时边界终止)。有关更多信息,请参阅配置集群缩减。
已知问题
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 的 KeyProvider API 的加密密钥管理服务器。 |
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 | 用于向 HBase 提供 RESTful HTTP 终端节点的服务。 |
hbase-thrift-server | 1.3.1 | 用于向 HBase 提供 Thrift 终端节点的服务。 |
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 | 用于向 HCatalog 提供 REST 接口的 HTTP 终端节点。 |
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-HBase-1.3 | 服务器和客户端的 phoenix 库 |
phoenix-query-server | 4.11.0-HBase-1.3 | 向 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 的笔记本电脑。 |
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 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 文件中的值。 |
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 文件中的值。 |