gpt4 book ai didi

scala - ClassNotFoundException : org. apache.spark.repl.SparkCommandLine

转载 作者:行者123 更新时间:2023-12-04 15:32:35 25 4
gpt4 key购买 nike

我是 Apache Zeppelin 的新手,我尝试在本地运行它。我尝试运行一个简单的健全性检查来查看 sc存在并得到以下错误。

我为 pyspark 和 spark 1.5(我使用 spark 1.5)编译了它。我将内存增加到 5 GB 并将端口更改为 8091。

我不确定我做错了什么,所以我收到以下错误以及我应该如何解决它。

提前致谢

java.lang.ClassNotFoundException: org.apache.spark.repl.SparkCommandLine at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at org.apache.zeppelin.spark.SparkInterpreter.open(SparkInterpreter.java:401) at org.apache.zeppelin.interpreter.ClassloaderInterpreter.open(ClassloaderInterpreter.java:74) at org.apache.zeppelin.interpreter.LazyOpenInterpreter.open(LazyOpenInterpreter.java:68) at org.apache.zeppelin.spark.PySparkInterpreter.getSparkInterpreter(PySparkInterpreter.java:485) at org.apache.zeppelin.spark.PySparkInterpreter.createGatewayServerAndStartScript(PySparkInterpreter.java:174) at org.apache.zeppelin.spark.PySparkInterpreter.open(PySparkInterpreter.java:152) at org.apache.zeppelin.interpreter.ClassloaderInterpreter.open(ClassloaderInterpreter.java:74) at org.apache.zeppelin.interpreter.LazyOpenInterpreter.open(LazyOpenInterpreter.java:68) at org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:92) at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:302) at org.apache.zeppelin.scheduler.Job.run(Job.java:171) at org.apache.zeppelin.scheduler.FIFOScheduler$1.run(FIFOScheduler.java:139) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)



更新
我的解决方案是将我的 scala 版本从 2.11.* 降级到 2.10.*,再次构建 Apache Spark 并运行 Zeppelin。

最佳答案

我正在根据您在评论中的回答做出某些假设。当我查看类 SparkCommandLine 时,听起来 Zeppelin 设置很好它是 Spark's core 的一部分.

现在 Zeppelin 有自己的最小嵌入式 Spark 类,如果您不设置 SPARK_HOME,这些类就会被激活。首先,根据这个 github 页面,try not setting SPARK_HOME (你正在设置)和 HADOOP_HOME (我认为你没有设置),看看消除你的底层 Spark 安装是否“修复”它:

Without SPARK_HOME and HADOOP_HOME, Zeppelin uses embedded Spark and Hadoop binaries that you have specified with mvn build option. If you want to use system provided Spark and Hadoop, export SPARK_HOME and HADOOP_HOME in zeppelin-env.sh You can use any supported version of spark without rebuilding Zeppelin.



如果可行,那么您就知道我们正在研究 Java 类路径问题。为了解决这个问题,zeppelin-env.sh 文件中还有一个设置,
ZEPPELIN_JAVA_OPTS

提到 here on the Zeppelin mailing list ,请确保将其设置为指向实际的 Spark jar,以便 JVM 使用 -classpath 获取它

这是我的 zeppelin 进程用于比较的样子,我认为重要的部分是 -cp 参数,在您的系统上执行 ps 并查看您的 JVM 选项以查看它是否类似指向
/usr/lib/jvm/java-8-oracle/bin/java -cp /usr/local/zeppelin/interpreter/spark/zeppelin-spark-0.5.5-incubating.jar:/usr/local/spark/conf/:/usr/local/spark/lib/spark-assembly-1.5.1-hadoop2.6.0.jar:/usr/local/spark/lib/datanucleus-rdbms-3.2.9.jar:/usr/local/spark/lib/datanucleus-core-3.2.10.jar:/usr/local/spark/lib/datanucleus-api-jdo-3.2.6.jar
-Xms1g -Xmx1g -Dfile.encoding=UTF-8 -Xmx1024m -XX:MaxPermSize=512m -Dfile.encoding=UTF-8 -Xmx1024m -XX:MaxPermSize=512m -Dzeppelin.log.file=/usr/local/zeppelin/logs/zeppelin-interpreter-spark-jim-jim.log org.apache.spark.deploy.SparkSubmit --conf spark.driver.extraClassPath=:/usr/local/zeppelin/interpreter/spark/zeppelin-spark-0.5.5-incubating.jar
--conf spark.driver.extraJavaOptions= -Dfile.encoding=UTF-8 -Xmx1024m -XX:MaxPermSize=512m -Dfile.encoding=UTF-8 -Xmx1024m -XX:MaxPermSize=512m -Dzeppelin.log.file=/usr/local/zeppelin/logs/zeppelin-interpreter-spark-jim-jim.log
--class org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer /usr/local/zeppelin/interpreter/spark/zeppelin-spark-0.5.5-incubating.jar 50309

如果这不起作用,希望有所帮助,请编辑您的问题以显示您现有的类路径。

关于scala - ClassNotFoundException : org. apache.spark.repl.SparkCommandLine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34814836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com