想启动spark-sql,结果报了
Caused by: org.datanucleus.store.rdbms.connectionpool.DatastoreDriverNotFoundException: The specified datastore driver (“com.mysql.jdbc.Driver”) was not found in the CLASSPATH. Please check your CLASSPATH specification, and the name of the driver.
以及其他一些基于这个错误造成的错误,是没有mysql驱动,在启动的时候加上–jars mysql驱动地址就可以了。
如:spark-sql --jars /home/hadoop/jars/mysql-connector-java-5.1.46-bin.jar
如果不想每次都这么麻烦,可以在spark-defaults.conf里配置:
spark.executor.extraClassPath /home/hadoop/jars/mysql-connector-java-5.1.46-bin.jar
spark.driver.extraClassPath /home/hadoop/jars/mysql-connector-java-5.1.46-bin.jar
其他
spark on yarn在启动的时候会提交jar包。所提交的jar包就是spark根目录下的jars文件夹内的jar包,把这些jar包放到hdfs中(可以打成一个包,比如zip包或者其他包,也可以加入一些自己的需要的jar包)。
spark.yarn.jars或者spark.yarn.archive这两个参数,在spark-defaults.conf里面配置一个,指向hdfs中的jar包路径,在启动的时候就不会上传jar包,可以提升速度。