版本 | 环境 |
---|---|
OS | veLinux(Debian 10兼容版) |
Python2 | 2.7.16 |
Python3 | 3.7.3 |
Java | ByteOpenJDK 1.8.0_302 |
组件 | Hadoop集群 | Flink集群 | Kafka集群 | Presto集群 | Trino集群 | HBase集群 | OpenSearch集群 | TensorFlow集群 | Doris集群 | Pulsar集群 |
---|---|---|---|---|---|---|---|---|---|---|
Flume | 1.9.0 | 1.9.0 | 1.9.0 | - | - | - | - | - | - | - |
OpenLDAP | 2.4.58 | 2.4.58 | 2.4.58 | 2.4.58 | 2.4.58 | 2.4.58 | 2.4.58 | 2.4.58 | - | - |
Ranger | 2.1.0 | 2.1.0 | 2.1.0 | 2.1.0 | 2.1.0 | 2.1.0 | - | 2.1.0 | - | - |
ZooKeeper | 3.7.0 | 3.7.0 | 3.7.0 | - | - | 3.7.0 | - | 3.7.0 | - | 3.7.0 |
Flink | 1.11 | 1.11 | - | - | - | - | - | - | - | - |
HDFS | 3.3.1 | 3.3.1 | - | 3.3.1 | 3.3.1 | 3.3.1 | - | 3.3.1 | - | - |
MapReduce2 | 3.3.1 | 3.3.1 | - | - | - | - | - | 3.3.1 | - | - |
YARN | 3.3.1 | 3.3.1 | - | - | - | - | - | 3.3.1 | - | - |
Airflow | 2.2.0 | - | - | 2.2.0 | 2.2.0 | - | - | - | - | - |
Hive | 3.1.2 | - | - | 3.1.2 | 3.1.2 | - | - | - | - | - |
Hue | 4.9.0 | - | - | 4.9.0 | 4.9.0 | - | - | - | - | - |
Kafka | - | - | 2.3 | - | - | - | - | - | - | - |
Knox | 1.5.0 | 1.5.0 | 1.5.0 | 1.5.0 | 1.5.0 | 1.5.0 | 1.5.0 | 1.5.0 | - | - |
Presto | 0.267 | - | - | 0.267 | - | - | - | - | - | - |
Presto on YARN | 0.267 | - | - | - | - | - | - | - | - | - |
Trino | 365 | - | - | - | 365 | - | - | - | - | - |
Trino on YARN | 365 | - | - | - | - | - | - | - | - | - |
Spark | 3.2.1 | - | - | - | - | - | - | 3.2.1 | - | - |
Sqoop | 1.4.7 | - | - | - | - | - | - | - | - | - |
Kerby | 2.0.1 | - | - | - | - | - | - | - | - | - |
Tez | 0.10.1 | - | - | - | - | - | - | - | - | - |
Iceberg | 0.12.0 | - | - | 0.12.0 | 0.12.0 | - | - | - | - | - |
Hudi | 0.10.0 | - | - | - | - | - | - | - | - | - |
HBase | - | - | - | - | - | 2.3.7 | - | - | - | - |
OpenSearch | - | - | - | - | - | - | 1.2.3 | - | - | - |
TensorFlow | - | - | - | - | - | - | - | 2.7.0 | - | - |
TensorFlow on YARN | - | - | - | - | - | - | - | 1.0.0 | - | - |
Doris | - | - | - | - | - | - | - | - | 1.0.0 | - |
Pulsar | - | - | - | - | - | - | - | - | - | 2.9.1 |
BookKeeper | - | - | - | - | - | - | - | - | - | 4.14.2 |
以下发布说明包括有关 EMR V1.3.0 的信息, 更改与 1.2.1 有关。EMRV1.3.0为火山引擎EMR V1.3.x的第一个版本。
发布日期: 2022 年 07 月 08 日
【集群】新增Pulsar集群类型,可以提供云原生消息队列服务,Apache Pulsar版本为2.9.1。
【组件】支持CloudFS ,在TOS基础上提供兼容HDFS语义,同时可基于业务需要,开启缓存加速。
【组件】Ranger的Spark、Hive插件支持对Iceberg表格式进行鉴权控制。
【组件】Doris支持查询分析数据湖格式Hudi
Doris支持创建Hudi外表:支持指定Schema和不指定Schema建表,不指定Schma时Hudi源表Schema变化时Doris可自动感知。
Doris支持查询分析Hudi COW和MOR表:支持COW表的Snapshot Queries,支持MOR表的Snapshot Queries和Read Optimized Queries。
【通用】组件路径规范:ECS中统一了各个组件的安装包、配置、日志的路径,其中安装包在/usr/lib/emr/current文件夹下,配置在/etc/emr文件夹下,日志在/var/log/emr文件夹下。
【组件】Spark从3.2.0升级至3.2.1。
【组件】参数优化:根据内部测试情况对HDFS、YARN、Hive、Spark、HBase、Flink等组件多个参数进行优化调整。
【组件】Presto多项优化,包括Join顺序优化、Broadcast Join选择策略改进;HiveMetaStore Client链接复用;小文件读取并行度等优化。
【组件】Airflow高可用增强:Airflow Broker 使用Redis Sentinel模式支持 HA。
【组件】Hudi进行多项优化,包括但不限于:
提前社区适配Flink 1.15功能;
支持Spark Bucket Index InternalRow写入;
EmbeddedTimelineserver支持更高并发。
【组件】SparkSQL多项优化
企业级Server:支持基于SQL/用户级别的资源隔离;
Hive语义:SparkSQL兼容大部分常用Hive语义;
引擎预热:基于预设资源在任务执行之前,提前准备所需资源;
Iceberg二级索引适配:SparkSQL集成Iceberg,适配Iceberg二级索引。
【组件】Ranger优化
审计日志收集由Solr迁移到集群外统一Elastic Search,以减少集群内存开销;
为与权限管理配合使用,对 Ranger admin 的UI进行了部分优化,移除关于用户创建和用户删除等相关功能。
【组件】Spark 3.2.1与官方的3.2.1有细微差异。
【通用】云监控无法采集EMR的ECS实例的部分数据指标;可通过手动添加集群脚本的方式解决,集群脚本内容为:
#!/bin/bash echo REGION_ID=BJ VERSION=v2.0.7 bash -c "$(wget -q -O - http://cloud-monitor-agent-beijing.tos-s3-cn-beijing.ivolces.com/install.sh)" REGION_ID=BJ VERSION=v2.0.7 bash -c "$(wget -q -O - http://cloud-monitor-agent-beijing.tos-s3-cn-beijing.ivolces.com/install.sh)" echo "end"
下面列出了 EMR 和此版本一起安装的组件。
组件 | 版本 | 描述 |
---|---|---|
zookeeper_server | 3.7.0 | 用于维护配置信息、命名、提供分布式同步的集中式服务。 |
zookeeper_client | 3.7.0 | ZooKeeper命令行客户端。 |
hive_metastore | 3.1.2 | Hive元数据存储服务。 |
hive_server | 3.1.2 | 用于将 Hive 查询作为 Web 请求接受的服务。 |
hive_client | 3.1.2 | Hive命令行客户端。 |
hdfs_namenode | 3.3.1 | 用于跟踪HDFS文件名和数据块的服务。 |
hdfs_datanode | 3.3.1 | 存储HDFS数据块的节点服务。 |
hdfs_secondary_namenode | 3.3.1 | 对NameNode数据进行周期性合并的服务。 |
hdfs_client | 3.3.1 | HDFS客户端命令行。 |
hdfs_journalnode | 3.3.1 | 用于管理 HA 模式下HDFS日志的服务。 |
hdfs_zkfc | 3.3.1 | 用户维护HA模式下HDFS NameNode从动态的服务。 |
hue_server | 4.9.0 | 用于使用 Hadoop 生态系统应用程序分析数据的 Web 应用程序。 |
knox_gateway | 1.5.0 | 用于与Hadoop生态的RESTAPI和UI交互的应用程序网关。 |
openldap | 2.4.58 | 后台认证以及用户数据权限管控服务。 |
ranger_admin | 2.1.0 | Ranger安全管理的中心接口服务。 |
ranger_usersync | 2.1.0 | 拉取用户和组的Ranger服务。 |
spark_jobhistoryserver | 3.2.1 | 用于查看完整的 Spark 应用程序的生命周期的已记录事件的 Web UI。 |
ksana | 1.0 | 为字节EMR团队自研组件,定位于SparkSQL数据仓库构建引擎,取代了Spark Thrift Server,兼容Hive的使用方式。 |
spark_client | 3.2.1 | Spark命令行客户端。 |
livy_server | 3.2.1 | 提供REST接口来与Spark交互的服务。 |
sqoop | 1.4.7 | 提供数据库与HDFS导入导出功能。 |
iceberg | 0.12.0 | Apache Iceberg 是一种适用于超大型分析数据集的开放表格式。 |
hudi | 0.10.0 | 增量处理框架,以支持低延迟和高效率的数据管道。 |
yarn_resourcemanager | 3.3.1 | 分配和管理集群资源与分布式应用程序的 YARN 服务。 |
yarn_nodemanager | 3.3.1 | 管理单个节点上的容器的 YARN 服务。 |
yarn_client | 3.3.1 | YARN命令行客户端。 |
mapreduce2_historyserver | 3.3.1 | 保存作业执行信息的MapReduce服务。 |
mapreduce2_client | 3.3.1 | MapReduce命令行客户端。 |
tez_client | 0.10.1 | Tez命令行客户端。 |
flink_client | 1.11.3 | Flink命令行客户端。 |
airflow_webserver | 2.2.0 | Airflow提供的web服务。 |
airflow_scheduler | 2.2.0 | Airflow的调度器。 |
presto_cli | 0.267 | Presto命令行客户端。 |
presto_coordinator | 0.267 | Presto中负责query解析,任务调度,结果汇总的,集群监控的节点。 |
presto_worker | 0.267 | Presto中负责所有Query相关数据的计算工作。 |
trino_cli | 365 | Trino命令行客户端。 |
trino_coordinator | 365 | Trino中负责query解析,任务调度,结果汇总的,集群监控的节点。 |
trino_worker | 365 | Trino中负责所有Query相关数据的计算工作。 |
kerby_server | 2.0.1 | Kerberos认证服务。 |
flume_agent | 1.9.0 | Flume中的数据采集工具。 |
flume_client | 1.9.0 | Flume命令行客户端。 |
kafka_broker | 2.3 | Kafka中的消息处理节点。 |
hbase_master | 2.3.7 | 适用于负责协调区域和执行管理命令的 HBase 集群的服务。 |
hbase_regionserver | 2.3.7 | 用于服务于一个或多个 HBase 区域的服务。 |
hbase_client | 2.3.7 | HBase 命令行客户端。 |
opensearch | 1.2.3 | OpenSearch服务。 |
opensearch_dashboard | 1.2.3 | OpenSearch的可视化仪表盘。 |
tensorflow | 2.7.0 | 适用于高性能数值计算的 TensorFlow 开源软件库。 |
tensorflow_on_yarn | 1.0.0 | TensorFlow YARN应用程序和库。 |
doris_fe | 1.0.0 | Doris的FE服务。 |
doris_be | 1.0.0 | Doris的BE服务。 |
bookie | 4.14.2 | 负责Pulsar消息数据的存储。 |
pulsar_broker | 2.9.1 | 提供读写服务以及 Pulsar 的计算逻辑。 |
pulsar_client | 2.9.1 | Pulsar 命令行客户端。 |