弹性 MapReduce RSS Uniffle 操作指南

随着 EMR 客户数量和 Spark 用户规模的持续增长,以及容器化应用的普及,Shuffle 作为大数据计算的核心算子,覆盖率高但资源消耗大,稳定性问题突出。

相关产品
弹性 MapReduce 产品页,含版本规格、价格与购买入口。

一、功能介绍

基于这样的背景,腾讯云弹性 MapReduce 新增的 RSS 集群类型并支持 Uniffle 组件,支持将 EMR on CVM 版及 EMR on TKE 版 Spark 集群通过一键绑定 RSS 集群操作,为 Spark 作业提供远端 Shuffle 服务。此举旨将提升大数据量 Shuffle 任务的性能,或在节点回收场景下增强任务的稳定性。

二、创建 RSS 集群

1. 登录 EMR 控制台 ,在 EMR on CVM 集群列表页单击创建集群,创建集群时集群类型选择RSS,你需要对集群进行软件配置、区域与硬件配置、基础配置和确认配置信息四个步骤。

2. 在软件配置步骤中,务必谨慎选择地域,Shuffle 服务不支持跨地域操作。

3. 在区域与硬件配置步骤中,高可用集群最小节点数为4个,包含2个 master 节点,最少2个 core 节点;非高可用集群存储为单副本,可作为测试使用,不建议作为生产环境。

注意:1. 据并行的 Spark SQL任务数量、任务的 shuffle 的数据量大小,评估新建 RSS 集群的内存配置、磁盘 IO 带宽等。

注意:2. 一个 RSS 集群支持为同 region 下的所有 spark 集群共享使用。

4. 在完成以上四个步骤配置后,单击购买进行支付,支付成功后 EMR 集群进入创建过程,大约10分钟后即可在 EMR 控制台中找到新建的集群。

三、EMR on CVM Spark 集群使用 Uniffle

1. 在 EMR on CVM 版集群列表选择需要开启 shuffle 服务的集群,单击管理中的服务。

2. 选择集群服务,并在 Spark服务面板的操作中单击设置shuffle服务。

3. 开启服务并填写关联 RSS 集群服务提供参数。

spark.shuffle.manager 默认不开启,若开启后所有提交的 spark 任务均使用 RSS-Shuffle 服务,建议使用任务级别时开启,操作如下:

1. 在 Spark 配置管理页面对 Spark 组件修改 spark-defaults.conf 配置文件:

spark.shuffle.manager=org.apache.spark.shuffle.RssShuffleManagerspark.driver.extraClassPath=/usr/local/service/spark/rss-client/* (如该参数已存在,则将多个值用:隔开)spark.executor.extraClassPath=/usr/local/service/spark/rss-client/* (如该参数已存在,则将多个值用:隔开)

2. Spark dynamic allocation

2.1 如使用了动态资源分配(spark.dynamicAllocation.enabled=true)的 spark 需要使用 uniffle,需要根据具体版本在 Spark 上打 patch 适配,请提交工单。

2.2 修改 spark-defaults.conf 配置文件:spark.shuffle.service.enabled=false。

注意:如果spark版本是3.5及以上,需另外配置参数 spark.shuffle.sort.io.plugin.class=org.apache.spark.shuffle.RssShuffleDataIo。

四、EMR on CVM Spark 集群关闭使用 Uniffle

1. 在 Spark 服务面板的操作中单击设置shuffle服务,单击关闭服务按钮。

2. 在配置管理页去除 spark 参数:spark.shuffle.manager=org.apache.spark.shuffle.RssShuffleManager,下发即可。

五、EMR on TKE Spark 集群使用 Uniffle

操作方式同 EMR on CVM Spark 集群使用 Uniffle 一致,但关联和解绑 RSS 集群路径不同,操作路径如下:

1. 在 EMR on TKE 版集群列表选择需要开启 shuffle 服务的集群,单击集群 ID 进入集群信息页。

2. 选择集群服务,并在集群服务中 Spark 服务,单击右上角的操作,单击设置 shuffle 服务。

3. 开启服务并填写关联 RSS 集群服务提供参数。

注意:说明:

4. 对于存量集群,后安装 uniffle 后,将无法访问 uniffle 的 webui;若需访问需按如下操作步骤执行:需要在所有安装了 knox gateway 的节点上按如下步骤执行:

4.1 下载文件 rewrite.xml 和service.xml 文件到 root 目录。

下载地址:rewrite.xml

下载地址:service.xml

4.2 需在所有安装了 knox gateway 的节点上执行执行如下命令;将下载的2个文件拷贝到当前目录下。

su hadoopcd /usr/local/service/knox/data/services/mkdir -p uniffleui/0.10.0cd uniffleui/0.10.0cp /root/rewrite.xml ./cp /root/service.xml ./rm -rf /usr/local/service/knox/data/deployments/*(也可以备份,里面的文件在knox启动时会自动生成)

4.3 在重启 knox 的 gateway。

赞 (0)
上一篇 4天前
下一篇 4天前