23/03/29 01:03:27 ERROR TaskSetManager: Task 0 in stage 0.0 failed 1 times; aborting job
Exception in thread "main" org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 0.0 failed 1 times, most recent failure: Lost task 0.0 in stage 0.0 (TID 0, localhost, executor driver): java.sql.SQLException: No suitable driver found for jdbc:mysql://192.168.88.154:3306/yujinlong?characterEncoding=UTF-8
出现以上报错的原因:
1、数据库IP的错误
2、数据库端口出现错误
3、数据库出现错误
4、打包时数据库连接驱动版本不兼容
5、服务器的驱动没有放置正确(或者没有放置)
6、spark文件中没有MySQL的驱动jar包
问题解决
1、数据库所在的IP地址出现错误 2、数据库端口出现错误
这个属于一个低级错误,在我们写东西的时候要注意尽量避免这样的错误出现,当然解决方法也很简单,就是将正确的IP地址进行更正,然后再次生成jar包即可
在检查数据库所在的ip地址时也不要忘记检查数据库密码和用户是否争取避免因为粗心大意带来的错误
3、数据出现错误
可以检查一下当前数据库是否存在,如果不存在及时更换或者新建数据库,然后重新构建jar包
4、打包的时候数据的连接驱动版本不兼容
我们在idea编写程序的时候要加如数据库驱动,这个时候会出现驱动和数据库的版本不兼容,(也就时有点货不对版了),所以我们要对我们的数据库驱动进行更改调换。
mysql服务器 | 驱动版本 |
---|---|
5.7.29 | mysql-connector-java-5.1.32.jar |
8.0.27 | mysql-connector-java-8.0.27.jar |
如果时这个两个版本的MySQL建议使用这个驱动本人亲测应该是好用
5、服务器的驱动没有放置正确(或者没有放置)
这个问题藏得非常的深,我找很长的一段时间,就是你在服务器上的mysql并没有这个启动但是你用idea打包jar文件的时候又用了驱动所以说会出现找不到驱动的问题。
因为我就是这个问题所以我主要演示一下这个问题的的解决方法很简单:
首先我们下载mysql 的驱动包:mysql-connector-java-5.1.32.jar(本人服务器上的MySQL版本文本:5.7.29)
打开到$JAVA_HOME/jre/lib/ext
目录然后将下载的驱动包拷贝进去
6、spark文件中没有MySQL的驱动jar包
因为spark程序中没有相应的jar包所以可能会出现现在的情况但是不知道为什么会这个样子,但是不提交到yarn中不在spark中就可以成功跑起来,话不多说上解决方法
就这一步就可以解决问题
然后你的spark程序就可以放肆的奔跑了