我们使用spark 1.3.1并通过手动创建sparkConf和sparkContext对象以编程方式在yarn-client模式下启动我们的spark作业。它的灵感来自于火花自包含应用示例:
https://spark.apache.org/docs/1.5.2/quick-start.html#self-contained-applications \
我们提供的其他配置都只与执行者实例,核心等纱线相关。
然而,在val sparkContext = new SparkContext(sparkConf)
它会在驱动程序应用程序中抛出以下内容:
16/01/28 17:38:35 ERROR util.Utils: Uncaught exception in thread main
java.lang.NullPointerException
at org.apache.spark.network.netty.NettyBlockTransferService.close(NettyBlockTransferService.scala:152)
at org.apache.spark.storage.BlockManager.stop(BlockManager.scala:1228)
at org.apache.spark.SparkEnv.stop(SparkEnv.scala:100)
at org.apache.spark.SparkContext$$anonfun$stop$12.apply$mcV$sp(SparkContext.scala:1749)
at org.apache.spark.util.Utils$.tryLogNonFatalError(Utils.scala:1185)
at org.apache.spark.SparkContext.stop(SparkContext.scala:1748)
at org.apache.spark.SparkContext.<init>(SparkContext.scala:593)
这种方法仍然有用吗?或者我必须使用带有spark 1.5.2的SparkLauncher
类来以编程方式在yarn-client模式下启动spark作业吗?