apache zeppelin:java.lang.NullPointerException

时间:2017-05-19 00:42:59

标签: apache-spark nullpointerexception apache-zeppelin

在zeppelin中运行任何类型的命令时,我得到了一个" java.lang.NullPointerException"错误 - 甚至像sc.appName这样简单的东西。这是全文:

java.lang.NullPointerException
    at org.apache.zeppelin.spark.Utils.invokeMethod(Utils.java:38)
    at org.apache.zeppelin.spark.Utils.invokeMethod(Utils.java:33)
    at org.apache.zeppelin.spark.SparkInterpreter.createSparkContext_2(SparkInterpreter.java:391)
    at org.apache.zeppelin.spark.SparkInterpreter.createSparkContext(SparkInterpreter.java:380)
    at org.apache.zeppelin.spark.SparkInterpreter.getSparkContext(SparkInterpreter.java:146)
    at org.apache.zeppelin.spark.SparkInterpreter.open(SparkInterpreter.java:828)
    at org.apache.zeppelin.interpreter.LazyOpenInterpreter.open(LazyOpenInterpreter.java:70)
    at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:483)
    at org.apache.zeppelin.scheduler.Job.run(Job.java:175)
    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:748)

该错误似乎指向Spark的某些内容,但我在zeppelin-env.sh中正确设置了位置:

export SPARK_HOME=/usr/local/spark

我修改的其他字段如下:

export HADOOP_CONF_DIR=/home/cloudera/hadoop/etc/hadoop
export PYSPARK_PYTHON=/usr/bin/python
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre/

我的hadoop安装没有" conf"文件夹,但纱线站点文件位于指定的位置。我使用匿名登录,不确定这是否相关。我可以从命令行成功运行Spark shell。我确实试图四处寻找,因为这是一个常见的错误,但似乎没有什么能适应这种情况。如果需要,我还可以提供zeppelin-env.sh文件。提前感谢您的任何帮助!

3 个答案:

答案 0 :(得分:2)

这个“带有火花的东西”触发了我所做的修复,所以我的集群现在正常工作。在Zeppelin中没有配置火花工作,很快,当我切换到我的群集配置时,它不再工作了。您拥有的所有版本必须放在一起,这是

  • Zeppelin spark interpreter
  • 可能的Zeppelin-局部火花装置(Zeppelin的SPARK_HOME指向的位置)
  • 远程spark主/群集安装版本

否则,您将在spark方面看到连接错误,反序列化错误等。 (至少,这是我的情况)。

在Zeppelin的解释器日志文件中,查找“Running Spark version”;这应该是实际使用的火花版本。我希望有所帮助!

答案 1 :(得分:0)

我在0.7.2中遇到了同样的问题..然后我在zeppelin/logs/servername-spark-interpreter.out

中的日志中发现了错误

我的错误是SPARK_JAVA_OPTS和SPARK_EXTRAOPTIONS的冲突bcoz我在spark-env.sh

中添加了SPARK_JAVA_OPTS

所以我从spark-env.sh

删除了以下一行
SPARK_JAVA_OPTS=-Dspark.driver.port=53411

然后重新启动服务器。 sparkzeppelin

如果您不确定任何选项,请不要在spark-env.sh中使用这些选项。让spark默认处理它。

答案 2 :(得分:-3)

似乎是Zeppelin 0.7.1中的错误。在0.7.2中工作正常。