You need to enable JavaScript to run this app.
导航
高阶使用
最近更新时间:2024.04.07 16:47:00首次发布时间:2024.01.29 16:33:14

1 Celeborn On HDFS

Celeborn默认支持HDD、SSD、HDFS等多种存储介质,大多数情况下我们都会使用HDD、SSD作为默认存储,这样能保证更高的Shuffle效率和更低的内存使用;但是当我们磁盘资源不足,但是又有空闲的HDFS资源时,我们也可以使用Celeborn On HDFS来提升Spark作业的稳定性;

  • 相较于HDD、SSD,HDFS在读写性能上是处于劣势的;

  • Celeborn On HDFS需要更多的OffHeap内存。

1.1 配置修改

进入 服务列表 -> Celeborn -> 服务参数 -> celeborn-defaults.conf,做如下配置变更

配置项参数值说明
celeborn.worker.storage.dirsHDFS模式下需将此配置注释
celeborn.storage.activeTypesHDFS固定值
celeborn.storage.hdfs.dirhdfs://${NN_IP}/user/celeborn存储Shuffle数据的HDFS目录,需提前创建好,并修改权限为755

进入 服务列表 -> Celeborn -> 服务参数 -> celeborn-env.sh,做如下配置变更

# 适当增大该参数,可参考下面推荐值设置
CELEBORN_WORKER_OFFHEAP_MEMORY
HADOOP_CONF_DIR=/etc/emr/hadoop/conf

注意

On HDFS模式下,
100G以下的Shuffle数据量OffHeap建议设置为1G~3G;
100G~1T的Shuffle数据量OffHeap建议设置在3G~30G。

1.2 提交作业

作业提交流程不感知,无需做更改。

2 Spark 使用外置集群 Celeborn

Spark 支持使用同一租户下非本集群部署的 Celeborn 服务,当集群中部署了多个Spark集群,或者多个计算集群的时候,用户可能考虑使用统一的Celeborn服务,这样可能减少冗余存储,提高资源利用率。在同一个租户下,不同的EMR集群互访要求集群间的VPC是同一个,且配置相同。

2.1 配置修改

打开计算引擎,例如Spark所在的集群控制台
进入服务列表 -> Spark -> 服务参数,搜索 celeborn.master.endpoints参数,做如下配置变更:

配置项参数值说明
spark.celeborn.master.endpoints外置celeborn集群的celeborn endpoints目标集群的celeborn服务参数搜索:celeborn.master.endpoints

2.2 验证配置是否生效

查看log,确认使用外置celeborn