You need to enable JavaScript to run this app.
导航

EMR 1.2.0版本说明

最近更新时间2023.01.19 11:40:44

首次发布时间2022.05.18 15:11:29

环境信息

系统环境

版本环境
OSveLinux(Debian 10兼容版)
Python22.7.16
Python33.7.3
JavaByteOpenJDK 1.8.0_302

应用程序版本

组件Hadoop集群Flink集群Kafka集群Presto集群Trino集群HBase集群OpenSearch集群TensorFlow集群
Flume1.9.01.9.01.9.0-----
OpenLDAP2.4.582.4.582.4.582.4.582.4.582.4.582.4.582.4.58
Ranger2.1.02.1.02.1.02.1.02.1.02.1.0-2.1.0
ZooKeeper3.7.03.7.03.7.0--3.7.0-3.7.0
Flink1.111.11------
HDFS3.3.13.3.1-3.3.13.3.13.3.1-3.3.1
MapReduce23.3.13.3.1-----3.3.1
YARN3.3.13.3.1-----3.3.1
Airflow2.2.0--2.2.02.2.0---
Hive3.1.2--3.1.23.1.2---
Hue4.9.0--4.9.04.9.0---
Kafka--2.3-----
Knox1.5.01.5.01.5.01.5.01.5.01.5.01.5.01.5.0
Presto0.267--0.267----
Presto on YARN0.267-------
Trino365---365---
Trino on YARN365-------
Spark3.2.1------3.2.1
Sqoop1.4.7-------
Kerby2.0.1-------
Tez0.10.1-------
Iceberg0.12.0--0.12.00.12.0---
Hudi0.10.0-------
HBase-----2.3.7--
OpenSearch------1.2.3-
TensorFlow-------2.7.0
TensorFlow on YARN-------1.0.0
发布说明

以下发布说明包括有关 EMR V1.2.0 的信息, 更改与 1.1.1 有关。EMRV1.2.0为火山引擎EMR V1.2.x的第一个版本。
发布日期: 2022 年 04 月 15 日

新增功能

  • 新增Iceberg 0.12.0

    • 支持Apache Iceberg开放表格式,用于大型表快速查询,可提供原子提交、并发写入和 SQL 兼容表演进等功能。

    • 增加了对Presto和Trino的支持,采用Iceberg connector 即可对Iceberg中数据进行操作。

    • 增加了对Spark的支持,配置了Catalog之后,即可轻松使用Spark读写Iceberg数据。

  • 新增Hudi 0.10.0

    • 增加对EMR Spark 3.2版本的Spark SQL DDL 和 DML 的支持。从而让您在最新Spark上使用 SQL 语句 upsert Hudi 表。

    • 额外支持Hudi Bucket Index索引功能,提供轻量且高效的索引方式,优化Hudi数据插入时的TagLocation效率。

  • 新增Spark子组件Ksana替换Spark Thrift Server

    • 支持兼容Hive 客户端访问Ksana。

    • 支持SparkSQL跨队列提交作业、细粒度作业资源隔离、动态资源分配和引擎预热。

    • 支持集成Hue工具。

    • 支持OpenLDAP和Ranger的用户身份认证和权限控制。

  • 支持读取TOS

    • Hadoop 客户端新增读写TOS数据的能力;Hive可使用TOS作为数据存储介质。

    • 支持多种方式访问TOS:自定义配置方式配置AK/SK、环境变量配置AK/SK和对VEECSforEMRRole角色授权TOS访问权限。

  • Hadoop、Presto 和 Trino 类型集群提供更加友好的权限管理支持,体现在:

    • Ranger 组件由必选调整为可选,用户在创建集群时可以通过选择是否安装 Ranger 组件来决定是否启用权限管理,同时也支持在集群运行期间以添加 Ranger 组件的形式开启权限管理。

    • 对于开启了权限管理的集群,允许用户在组件粒度快捷控制开启或关闭 Ranger 鉴权,目前支持的组件包括 HDFS、YARN、Hive、Spark、Presto 和 Trino。

    • 提供一套基于 RBAC 模型的权限配置交互 UI,并与 Ranger 之间实现权限配置数据互通。

  • 新增Presto支持部分Hive内置UDF和UDAF功能,具体参考Presto使用说明

  • 新增TensorFlow 2.7.0组件与数据科学场景下的TensorFlow集群,主要面向大数据+AI场景,提供Spark离线大数据ETL和TensorFlow模型训练等能力。

  • 新增HBase 2.3.7组件与NoSQL数据库场景下的HBase集群,是面向大数据领域的一站式NoSQL服务,适用于GB至PB级的大规模吞吐、检索、分析工作负载。

  • 新增OpenSearch 1.2.3组件和搜索场景下的OpenSearch集群,提供分布式搜索与分析服务。

  • 提供独立的交互式分析Presto/Trino集群,Presto/Trino组件能够独占集群资源,提供更快的分析性能。

  • 新增访问链接功能,支持在EMR控制台的访问链接页面跳转到HDFS、Hive、Spark等开源组件的Web UI。

更改、增强和解决的问题

  • Airflow全面支持Celery调度,并部署多Scheduler,能够更加充分利用集群资源的同时增强服务组件高可用性。

  • 安装启动服务时,为了避免随机端口占有组件的端口号, 已为各组件预留了端口号。

  • Hadoop集群HA模式增强:MASTER从2个节点变成3个节点,增强Hadoop集群下各个组件的高可用性。

  • 新增守护精灵的功能, 对于组件进程的异常退出能主动拉起。每次拉起之间的间隔至少3分钟,在60分钟内,每个组件最多拉起6次。

  • 组件滚动重启优化:YARN ResourceManger、HDFS NameNode和HBase HMaster新增滚动重启的能力,能够在不停止服务的情况下进行重启升级。

  • HA集群的MASTER节点ECS实例意外宕机后恢复,集群可通过守护精灵拉起组件,组件状态可自动恢复。

  • 默认启用Ksana,而Spark Thrift Server不再默认启动。

  • Hue安全性增强。

已知问题

  • SparkSQL访问Iceberg表时,暂时不支持使用Ranger进行权限管控。

  • 当前版本的Ksana不支持使用Iceberg和Hudi表。

  • 除了Hadoop、Presto和Trino类型集群,其他类型集群的Ranger界面插件可关闭,但是关闭后相应的插件仍然会生效。

  • TensorFlow集群中,在venv环境安装TensorFlow库时有概率因为网络问题失败。集群内置的Python3.9默认安装了TensorFlow库,推荐使用Python3.9来使用TensorFlow。

  • Hive暂时不支持Iceberg表的Insert语句。

组件版本

下面列出了 EMR 和此版本一起安装的组件。

组件版本描述
zookeeper_server3.7.0用于维护配置信息、命名、提供分布式同步的集中式服务。
zookeeper_client3.7.0ZooKeeper命令行客户端。
hive_metastore3.1.2Hive元数据存储服务。
hive_server3.1.2用于将 Hive 查询作为 Web 请求接受的服务。
hive_client3.1.2Hive命令行客户端。
hdfs_namenode3.3.1用于跟踪HDFS文件名和数据块的服务。
hdfs_datanode3.3.1存储HDFS数据块的节点服务。
hdfs_secondary_namenode3.3.1对NameNode数据进行周期性合并的服务。
hdfs_client3.3.1HDFS客户端命令行。
hdfs_journalnode3.3.1用于管理 HA 模式下HDFS日志的服务。
hdfs_zkfc3.3.1用户维护HA模式下HDFS NameNode从动态的服务。
hue_server4.9.0用于使用 Hadoop 生态系统应用程序分析数据的 Web 应用程序。
knox_gateway1.5.0用于与Hadoop生态的RESTAPI和UI交互的应用程序网关。
openldap2.4.58后台认证以及用户数据权限管控服务。
ranger_admin2.1.0Ranger安全管理的中心接口服务。
solr2.1.0用于保存Ranger审计数据的服务。
ranger_usersync2.1.0拉取用户和组的Ranger服务。
spark_jobhistoryserver3.2.1用于查看完整的 Spark 应用程序的生命周期的已记录事件的 Web UI。
ksana1.0为字节EMR团队自研组件,定位于SparkSQL数据仓库构建引擎,取代了Spark Thrift Server,兼容Hive的使用方式。
spark_client3.2.1Spark命令行客户端。
livy_server3.2.1提供REST接口来与Spark交互的服务。
sqoop1.4.7提供数据库与HDFS导入导出功能。
iceberg0.12.0Apache Iceberg 是一种适用于超大型分析数据集的开放表格式。
hudi0.10.0增量处理框架,以支持低延迟和高效率的数据管道。
yarn_resourcemanager3.3.1分配和管理集群资源与分布式应用程序的 YARN 服务。
yarn_nodemanager3.3.1管理单个节点上的容器的 YARN 服务。
yarn_client3.3.1YARN命令行客户端。
mapreduce2_historyserver3.3.1保存作业执行信息的MapReduce服务。
mapreduce2_client3.3.1MapReduce命令行客户端。
tez_client0.10.1Tez命令行客户端。
flink_client1.11Flink命令行客户端。
airflow_webserver2.2.0Airflow提供的web服务。
airflow_scheduler2.2.0Airflow的调度器。
presto_cli0.267Presto命令行客户端。
presto_coordinator0.267Presto中负责query解析,任务调度,结果汇总的,集群监控的节点。
presto_worker0.267Presto中负责所有Query相关数据的计算工作。
trino_cli365Trino命令行客户端。
trino_coordinator365Trino中负责query解析,任务调度,结果汇总的,集群监控的节点。
trino_worker365Trino中负责所有Query相关数据的计算工作。
kerby_server2.0.1Kerberos认证服务。
flume_agent1.9.0Flume中的数据采集工具。
flume_client1.9.0Flume命令行客户端。
kafka_broker2.3Kafka中的消息处理节点。
hbase_master2.3.7适用于负责协调区域和执行管理命令的 HBase 集群的服务。
hbase_regionserver2.3.7用于服务于一个或多个 HBase 区域的服务。
hbase_client2.3.7HBase 命令行客户端。
opensearch1.2.3OpenSearch服务。
opensearch_dashboard1.2.3OpenSearch的可视化仪表盘。
tensorflow2.7.0适用于高性能数值计算的 TensorFlow 开源软件库。
tensorflow_on_yarn1.0.0TensorFlow YARN应用程序和库。