最近shell脚本写spark脚本:
$SPARK_BIN --master yarn-client --name openrc_${bid}_${model}_es@${running_id} --queue ${queue} \
--class com.tencent.dp.gr.driver.CTR1 \
--conf spark.hadoop.fs.hdfs.impl.disable.cache=true \
--num-executors ${node_num} \
--executor-cores ${worker_num_per_node} \
--driver-memory ${drv_mem} \
--executor-memory ${exe_mem} \
--conf spark.yarn.executor.memoryOverhead=2048 \
--conf spark.dynamicAllocation.enable=false \
/data/home/star/openrcTraining-1.0-SNAPSHOT-jar-with-dependencies.jar \
执行后出现报错:
Warning: Local jar /data/home/star/4 does not exist, skipping.
java.lang.ClassNotFoundException: com.tencent.dp.gr.driver.CTR1
at java.lang.ClassLoader.findClass(ClassLoader.java:531)
at org.apache.spark.util.ParentClassLoader.findClass(ParentClassLoader.scala:26)
检查了路径是没有问题的,以为是jar包的问题,改了很多次还是解决不了。
最后发现,是--num-executors参数 node_num没有定义。最后发现真相的我眼泪掉下来……不过这个报错也真的是没谁了
Mark一下,以志教训!