更新时间:2025-12-10 GMT+08:00
分享

配置Spark对接MemArtsStore

操作场景

本章节介绍如何配置Spark任务中集成MemArtsStore。使用MemArtsStore存储Shuffle Data后,大数据应用不再依赖带本地盘的机型。其次,MemArtsStore提供多副本机制保证Shuffle Data的高可用性,单个节点故障不会导致Shuffle Data丢失。最后,MemArtsStore内部会对相同Partition的数据进行聚合,从而消除小IO问题,提升Shuffle性能。

前提条件

集群已安装Spark,且Spark功能正常。

操作步骤

修改SparkResource配置

  1. 登录FusionInsight Manager,选择“集群 > 服务 > Spark > 配置 > 全部配置 > SparkResource(角色) > MemArtsStore”。
  2. 在参数“spark.shuffle.manager”选择“org.apache.spark.shuffle.mass.MassShuffleManager”。
  3. 单击“保存”,在弹窗页面中单击“确定”,保存配置。
  4. 单击“实例”,勾选“SparkResource”,选择“更多 > 滚动重启实例”,重启SparkResource实例。
  5. 重新下载安装Spark服务客户端,或者更新已有客户端配置,具体参考使用MRS客户端

修改Spark JDBCServer配置

  1. 登录FusionInsight Manager,选择“集群 > 服务 > Spark > 配置 > 全部配置 > JDBCServer(角色) > MemArtsStore”。
  2. 在参数“spark.shuffle.manager”选择“org.apache.spark.shuffle.mass.MassShuffleManager”。
  3. 单击“保存”,在弹窗页面中单击“确定”,保存配置。
  4. 单击“实例”,勾选“JDBCServer”,选择“更多 > 滚动重启实例”,重启JDBCServer实例。
  5. 重新下载安装Spark服务客户端,或者更新已有客户端配置,具体参考使用MRS客户端

验证配置结果

  1. 登录Spark客户端节点,进入客户端目录,执行以下命令(普通模式无需执行用户认证):

    cd {客户端安装目录}
    source bigdata_env
    source Spark/component_env
    kinit <用于认证的业务用户>

  2. 进入spark-sql客户端:

    cd ./Spark/spark/bin
    spark-sql --master yarn

  3. 提交一个SQL作业:

    create table test1(name string, num int);
    insert into test1 values("a",1),("b",2),("c",3);
    select name,count(1) from test1 group by name;

  4. 登录FusionInsight Manager,选择“集群 > 服务 > MemArtsStore > 概览”。
  5. 查看图表“Store集群总计每秒写入次数”,在SQL作业运行期间该图表数据有波动,表示对接成功。

相关文档