解决Spark On Yarn yarn-cluster模式下的No Suitable Driver问题

Spark版本:2.2.0_2.11

我们在项目中通过Spark SQL JDBC连接MySQL,在启动Driver/Executor执行的时候都碰到了这个问题。网上解决方案我们全部都试过了,奉上我们自己验证通过的方案:

1、在spark2-submit中指定好如下配置(我们使用的是mysql-connector-java-5.1.38.jar):

  • --driver-class-path /local/to/path/mysql-connector-java-5.1.38.jar

2、在每台DataNode上,按上述路径“/local/to/path/mysql-connector-java-5.1.38.jar”,原样搞一份相同路径和jar包拷贝。比如有datanode1,datanode2,datanode3这几台DataNode,则在datanode1,2,3上都新建/local/to/path/,然后拷贝mysql-connector-java-5.1.38.jar并放在该路径下,即可。

3、保证上述1,2配置正确,则不需要在options中增加“driver”的配置项;

4、保证上述1,2配置正确,则不需要在spark2-submit中增加“spark.driver.extraClassPath和spark.executor.extraClassPath”配置项。

至于2为什么要这么玩,我还没有深入研究过,大家有答案可以回复下,感激~

上一篇:LoadRunner error -27498


下一篇:android后台截屏实现(1)--源码编译