我是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),位于org.apache.zeppelin.spark.SparkInterpreter.open(SparkInterpreter.java:401)的java.lang.ClassLoader.loadClass(ClassLoader.java:357) . aplet.zeppelin.interpreter.ClassloaderInterpreter.open(ClassloaderInterpreter.java:74)org.apache.zeppelin.interpreter.LazyOpenInterpreter.open(LazyOpenInterpreter.java:68)at org.apache.zeppelin.spark.PySparkInterpreter.getSparkInterpreter(PySparkInterpreter . java:485)org.apache.zeppelin.spark.PySparkInterpreter.createGatewayServerAndStartScript(PySparkInterpreter.java:174)org.apache.zeppelin.spark.PySparkInterpreter.open(PySparkInterpreter.java:152)at org.apache.zeppelin.interpreter org.apache.zeppelin.interpreter.La中的.ClassloaderInterpreter.open(ClassloaderInterpreter.java:74) zyOpenInterpreter.open(LazyOpenInterpreter.java:68)位于org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:92)org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer $ InterpretJob.jobRun(RemoteInterpreterServer.java: 302)atg.apache.zeppelin.scheduler.Job.run(Job.java:171)atg.apache.zeppelin.scheduler.FIFOScheduler $ 1.run(FIFOScheduler.java:139)at java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)位于java.util.concurrent.FutureTask.run(FutureTask.java:266)java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.access $ 201(ScheduledThreadPoolExecutor.java:180)at java . java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:)中的util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) 617)在java.lang.Thread.run(Thread.java:745)
Update 我的解决方案是将我的scala版本从2.11 . *降级到2.10 . *,再次构建Apache Spark并运行Zeppelin .
2 回答
我根据您在评论中回答的内容做出某些假设 . 这听起来像Zeppelin设置很好,当我看着SparkCommandLine这是Spark's core的一部分时 .
现在Zeppelin有自己的最小嵌入式Spark类,如果你没有设置SPARK_HOME,它们会被激活 . 首先,根据这个github页面,try not setting SPARK_HOME(你正在设置)和HADOOP_HOME(我认为你没有设置),看看是否消除你的底层Spark安装"fixes":
如果可行,那么您知道我们正在查看Java类路径问题 . 要尝试解决此问题,zeppelin-env.sh文件中还有一个设置,
提到here on the Zeppelin mailing list,请确保将其设置为指向实际的Spark jar,以便JVM使用-classpath进行拾取
这是我的zeppelin进程的比较,我认为重要的部分是-cp参数,在你的系统上执行ps并查看你的JVM选项,看它是否同样指向
希望如果不起作用有帮助请编辑您的问题以显示您现有的类路径 .
Zeppelin最近发布了支持Scala 2.11和Spark 2.0的version 0.6.1 . 我也对此错误消息感到困惑,因为我可以在类路径中清楚地看到我的Spark主目录 . 新版Zeppelin效果很好;我目前正在使用Spark 2.0 / Scala 2.11运行它 .