Apache spark apache齐柏林飞艇:java.lang.NullPointerException

Apache spark apache齐柏林飞艇:java.lang.NullPointerException,apache-spark,nullpointerexception,apache-zeppelin,Apache Spark,Nullpointerexception,Apache 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:3

在齐柏林飞艇中运行任何类型的命令时,我都会遇到一个“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”文件夹,但Thread站点文件位于指定位置。我使用匿名登录,不确定这是否相关。我可以从命令行成功运行Spark shell。我真的试着四处搜索,因为这是一个很常见的错误,但似乎没有什么东西非常适合这种情况。如果需要,我还可以提供zeppelin-env.sh文件。提前感谢您的帮助

似乎是齐柏林飞艇0.7.1中的bug。在0.7.2中运行良好。

我在0.7.2中遇到了相同的问题。。然后我在
zeppelin/logs/servername spark解释器中的日志中发现了错误

我的错误是SPARK_JAVA_选项和SPARK_EXTRAOPTIONS冲突,因为我在
SPARK env.sh

所以我删除了
spark env.sh

SPARK_JAVA_OPTS=-Dspark.driver.port=53411
然后重新启动服务器。
spark
zeppelin

如果您不确定是否有任何选项,请不要使用
spark env.sh
中的选项。默认情况下让spark处理。

这个“带有spark的东西”触发了我所做的修复,所以我的集群现在可以工作了。齐柏林飞艇没有配置spark,当我切换到集群配置时,它就不再工作了。你拥有的所有版本都必须组合在一起,这是

  • 齐柏林飞艇火花解释器
  • 齐柏林飞艇可能的本地spark安装(齐柏林飞艇spark_HOME指向的位置)
  • 远程spark master/cluster安装版本
否则,您将在spark端看到连接错误、反序列化错误和类似错误。(至少我是这样)


在齐柏林飞艇的解释器日志文件中,查找“运行火花版本”;这应该是实际使用的spark版本。我希望这有帮助

分析齐柏林飞艇日志;无法启动Spark解释器。日志中有相关的例外。谢谢你的建议,瑞克。我不是专家,但它似乎加载了Spark UI:
INFO[2017-05-18 17:21:48260]({pool-2-thread-4}AbstractConnector.java[doStart]:266)-已启动Spark@29067796{HTTP/1.1}{0.0.0.0:4040}
它遇到问题的第一个地方是:
错误[2017-05-18 17:22:12430]({pool-2-thread-4}Utils.java[invokeMethod]:40)-java.lang.reflect.InvocationTargetException
它似乎与Hive有关<代码>原因:java.lang.IllegalArgumentException:实例化“org.apache.spark.sql.hive.HiveSessionState”时出错:
您好,您最终解决了这个错误吗?我不确定齐柏林飞艇0.7.2中也有同样的问题,但我认为
$Zeppelin\u HOME/conf/Zeppelin env.sh
中的
spark\u HOME
有魅力