更新时间:2022-02-24 GMT+08:00
Flume向Spark Streaming提交作业,提交到集群后报类找不到
用户问题
Flume向Spark Streaming提交作业,提交到集群后报类找不到。
问题现象
Spark Streaming代码打成jar包提交到集群后报类找不到错误,通过以下两种方式依然不生效。
- 在提交Spark作业的时候使用--jars 命令引用类所在的jar包。
- 将类所在的jar包引入Spark Streaming的jar包。
原因分析
执行Spark作业时无法加载部分jar,导致找不到class。
处理步骤
- 使用 --jars 加载flume-ng-sdk-{version}.jar依赖包。
- 同时修改spark-default.conf中两个配置项。
spark.driver.extraClassPath=$PWD/*:{加上原来配置的值}
spark.executor.extraClassPath =$PWD/*
- 作业运行成功。如果还有报错,则需要排查还有哪个jar没有加载,再次执行步骤1和步骤2。
父主题: 使用Flume