【发布时间】:2017-10-20 23:43:10
【问题描述】:
我正在尝试以独立模式 (MacOSX) 启动 spark 流式传输,并得到以下错误:
线程“main”中的异常 java.lang.ExceptionInInitializerError 在 org.apache.spark.storage.DiskBlockManager.addShutdownHook(DiskBlockManager.scala:147) 在 org.apache.spark.storage.DiskBlockManager.(DiskBlockManager.scala:54) 在 org.apache.spark.storage.BlockManager.(BlockManager.scala:75) 在 org.apache.spark.storage.BlockManager.(BlockManager.scala:173) 在 org.apache.spark.SparkEnv$.create(SparkEnv.scala:347) 在 org.apache.spark.SparkEnv$.createDriverEnv(SparkEnv.scala:194) 在 org.apache.spark.SparkContext.createSparkEnv(SparkContext.scala:277) 在 org.apache.spark.SparkContext.(SparkContext.scala:450) 在 org.apache.spark.streaming.StreamingContext$.createNewSparkContext(StreamingContext.scala:566) 在 org.apache.spark.streaming.StreamingContext$.createNewSparkContext(StreamingContext.scala:578) 在 org.apache.spark.streaming.StreamingContext.(StreamingContext.scala:90) 在 org.apache.spark.streaming.api.java.JavaStreamingContext.(JavaStreamingContext.scala:78) 在 io.ascolta.pcap.PcapOfflineReceiver.main(PcapOfflineReceiver.java:103) 引起:java.lang.NoSuchFieldException:SHUTDOWN_HOOK_PRIORITY 在 java.lang.Class.getField(Class.java:1584) 在 org.apache.spark.util.SparkShutdownHookManager.install(ShutdownHookManager.scala:220) 在 org.apache.spark.util.ShutdownHookManager$.shutdownHooks$lzycompute(ShutdownHookManager.scala:50) 在 org.apache.spark.util.ShutdownHookManager$.shutdownHooks(ShutdownHookManager.scala:48) 在 org.apache.spark.util.ShutdownHookManager$.addShutdownHook(ShutdownHookManager.scala:189) 在 org.apache.spark.util.ShutdownHookManager$.(ShutdownHookManager.scala:58) 在 org.apache.spark.util.ShutdownHookManager$.(ShutdownHookManager.scala) ... 13 更多
此症状在https://forums.databricks.com/questions/2227/shutdown-hook-priority-javalangnosuchfieldexceptio.html 上作为 Hadoop2 依赖项与 EC2 相关地进行了讨论。但我正在本地运行(目前),并且正在使用来自https://spark.apache.org/downloads.html 的 spark-1.5.2-bin-hadoop2.6.tgz 二进制文件,我希望它可以消除这种可能性。
我已经将我的代码精简到几乎没有;像这样:
SparkConf conf = new SparkConf() .setAppName(appName) .setMaster(master); JavaStreamingContext ssc = new JavaStreamingContext(conf, new Duration(1000));
我已经置换了 maven 依赖项,以确保所有 spark 内容在版本 1.5.2 上是一致的。然而,上面的 ssc 初始化无论如何都失败了。所以我认为是时候寻求帮助了。
构建环境是eclipse和maven,带有shade插件。启动/运行目前来自 eclipse 调试器,而不是 spark-submit。
【问题讨论】:
-
您能为此提交一份 Spark JIRA 票吗? issues.apache.org/jira/browse/SPARK
-
...当你这样做时,请在此处发布问题的 URL。谢谢。
标签: apache-spark spark-streaming