文档首页/ MapReduce服务 MRS/ 用户指南(安卡拉区域)/ 故障排除/ 使用Flume/ Flume向Spark Streaming提交作业,提交到集群后报类找不到
更新时间:2024-11-29 GMT+08:00

Flume向Spark Streaming提交作业,提交到集群后报类找不到

用户问题

Flume向Spark Streaming提交作业,提交到集群后报类找不到。

问题现象

Spark Streaming代码打成jar包提交到集群后报类找不到错误,通过以下两种方式依然不生效。

  1. 在提交Spark作业的时候使用--jars 命令引用类所在的jar包。
  2. 将类所在的jar包引入Spark Streaming的jar包。

原因分析

执行Spark作业时无法加载部分jar,导致找不到class。

处理步骤

  1. 使用 --jars 加载flume-ng-sdk-{version}.jar依赖包。
  2. 同时修改spark-default.conf中两个配置项。

    spark.driver.extraClassPath=$PWD/*:{加上原来配置的值}

    spark.executor.extraClassPath =$PWD/*

  3. 作业运行成功。如果还有报错,则需要排查还有哪个jar没有加载,再次执行步骤1和步骤2。