我正在使用 spark-cassandra-connector 创建一个 java API。当它在 eclipse 上运行时,它工作正常。然后我创建了一个可运行的 jar 文件并通过命令行执行它,它给了我以下错误。
15/02/17 14:56:41 INFO spark.HttpServer: Starting HTTP Server
15/02/17 14:56:42 INFO server.Server: jetty-8.y.z-SNAPSHOT
15/02/17 14:56:42 INFO server.AbstractConnector: Started SocketConnector@0.0.0.0:58625
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoa
der.java:58)
Caused by: java.lang.Exception: Could not find resource path for Web UI: org/apache/spark/ui/static
at org.apache.spark.ui.JettyUtils$.createStaticHandler(JettyUtils.scala:
133)
at org.apache.spark.ui.SparkUI.initialize(SparkUI.scala:70)
at org.apache.spark.ui.SparkUI.<init>(SparkUI.scala:60)
at org.apache.spark.ui.SparkUI.<init>(SparkUI.scala:42)
at org.apache.spark.SparkContext.<init>(SparkContext.scala:222)
at org.apache.spark.SparkContext.<init>(SparkContext.scala:97)
at com.netspective.watchtower.bigdata.utils.Config.getSparkContext(Confi
g.java:32)
at com.netspective.watchtower.bigdata.main.Main.main(Main.java:17)
... 5 more
与 eclipse 日志相比,日志文件的唯一区别在于 jetty-server 的版本。在 Eclipse 中,它将码头服务器版本标识为 8.1.14 v232。但在其标识为 8.yz SNAPSHOT 之上。这是因为码头服务器还是其他原因?我完全被困在这里。
我的 sparkContext 配置如下
conf.setAppName("Java API demo");
conf.setMaster("local[*]");