记一次--------spark 读 mysql 报错no suitable driver

报错日志如下:
 
意思是:没有合适的驱动,
按道理来说,如果找不到Java的driver驱动应该会报错为:class not found mysql.jdbc.driver 。 
但是不知道为啥报错这个。
 
解决方法:在脚本中添加--driver-class-path 指定mysql-connection jar包。 即可!!!
脚本如下
 
 
#!/bin/bash
 
source ~/.bash_profile
 
APP_HOME=/root/y
 
echo $APP_HOME
 
################################# spark job ###########################################
 
for f in $APP_HOME/lib/*.jar; do
 
app_CLASSPATH=$f,${app_CLASSPATH}
 
done
 
len=${#app_CLASSPATH}-1
 
JAR_PATH=${app_CLASSPATH:0:len}
 
spark-submit --master yarn \
--deploy-mode client \
--num-executors 4 \
--executor-cores 1 \
--executor-memory 1g \
--class com.pateo.x37.EcoDriving \
--driver-memory 1g \
--jars $JAR_PATH \
--driver-class-path /root/y/lib/mysql-connector-java-5.1.6.jar \
$APP_HOME/DFclout.jar
 
 
 
###### 执行异常与否判断
 
rc=$?
 
if [[ $rc != 0 ]]; then
 
echo "`date "+%Y-%m-%d %H:%M:%S"` Spark job run failed......"
 
exit 1
 
else
 
echo "`date "+%Y-%m-%d %H:%M:%S"` Spark job run successfully......."
 
fi

 

 
 
 
 
 
后续,查看spark-submit —help
意思为:要传递给驱动程序的额外类路径项。注意,用——jars添加的jar会自动包含在类路径中。
但是在我的脚本中是有--jars的配置的,不知道为什么没有指定到mysql 的连接驱动
 
 
 
 
 
 
 
 
 
 
 
 
posted @ 2020-12-27 00:43  于二黑  阅读(183)  评论(0编辑  收藏  举报