我正在尝试通过以下方式运行工作spark-submit
.
此作业导致的错误是:
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/Logger
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2625)
at java.lang.Class.getMethod0(Class.java:2866)
at java.lang.Class.getMethod(Class.java:1676)
at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:494)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:486)
Caused by: java.lang.ClassNotFoundException: org.slf4j.Logger
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 6 more
不确定这是否重要,但我正在尝试在 Mesos 上的 Docker 容器中运行此作业。 Spark是1.61,Mesos是0.27.1,Python是3.5,Docker是1.11.2。我正在客户端模式下运行。
这是我的要点spark-submit
陈述:
export SPARK_PRINT_LAUNCH_COMMAND=true
./spark-submit \
--master mesos://mesos-blahblahblah:port \
--conf spark.mesos.executor.docker.image=docker-registry:spark-docker-image \
--conf spark.mesos.executor.home=/usr/local/spark \
--conf spark.executorEnv.MESOS_NATIVE_JAVA_LIBRARY=/usr/local/lib/libmesos.dylib \
--conf spark.shuffle.service.enabled=true \
--jars ~/spark/lib/slf4j-simple-1.7.21.jar \
test.py
要点test.py
是它从 parquet 加载数据,按特定列对其进行排序,然后将其写回到 parquet。
我添加了--jars
当我不断收到该错误时(该错误没有出现在我的驱动程序中 - 我浏览 Mesos 框架以查看每个 Mesos 任务的 stderr 以找到它)
我也尝试添加--conf spark.executor.extraClassPath=http:some.ip:port/jars/slf4j-simple-1.7.21.jar
,
因为我注意到当我运行时spark-submit
从上面它会输出
INFO SparkContext: Added JAR file:~/spark/lib/slf4j-simple-1.7.21.jar at http://some.ip:port/jars/slf4j-simple-1.7.21.jar with timestamp 1472138630497
但错误没有改变。有任何想法吗?
I found 这个链接 https://stackoverflow.com/questions/33832804/spark-1-5-2-and-slf4j-staticloggerbinder,这让我认为这是一个错误。但该人尚未发布任何解决方案。