6

私は 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 org.apache.zeppelin.spark.PySparkInterpreter.getSparkInterpreter(PySparkInterpreter.java) で .zeppelin.interpreter.ClassloaderInterpreter.open(ClassloaderInterpreter.java:74) :485) org.apache.zeppelin.spark.PySparkInterpreter.createGatewayServerAndStartScript(PySparkInterpreter.java:174) で 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) org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:92) で org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:302) で org.apache.zeppelin java.util.concurrent.Executors$RunnableAdapter.call(Executors.java: 511) java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask の java.util.concurrent.FutureTask.run(FutureTask.java:266) で。access$201(ScheduledThreadPoolExecutor.java:180) で java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) で java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) で java.util. concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) で java.lang.Thread.run(Thread.java:745)

更新 私にとっての解決策は、scala バージョンを 2.11.* から 2.10.* に下げ、Apache Spark を再度ビルドし、Zeppelin を実行することでした。

4

2 に答える 2

3

あなたがコメントで答えたことに基づいて、私は特定の仮定をしています。クラスSparkCommandLineを見ると、Zeppelin のセットアップは良いように思えますが、これはSpark の coreの一部です。

現在、Zeppelin には、SPARK_HOME を設定しない場合にアクティブ化される、独自の最小限の組み込み Spark クラスがあります。したがって、最初に、この github ページに従って、SPARK_HOME (設定している) と HADOOP_HOME (設定しているとは思わない) を設定しないようにして、基礎となる Spark インストールを削除すると「修正」されるかどうかを確認します。

SPARK_HOME と HADOOP_HOME がない場合、Zeppelin は、mvn ビルド オプションで指定した組み込みの Spark および Hadoop バイナリを使用します。システム提供の Spark と Hadoop を使用する場合は、SPARK_HOME と HADOOP_HOME を zeppelin-env.sh にエクスポートします。Zeppelin を再構築せずに、サポートされているすべてのバージョンの spark を使用できます。

これが機能する場合は、Java クラスパスの問題を調査していることがわかります。これを修正するために、zeppelin-env.sh ファイルにもう 1 つの設定があります。

ZEPPELIN_JAVA_OPTS

ここ Zeppelin メーリング リストで言及されている場合は、実際の 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

それがうまくいかない場合は、質問を編集して既存のクラスパスを表示してください。

于 2016-01-18T18:00:25.320 に答える