java - 找不到 Web UI 的资源路径 : org/apache/spark/ui/static While creating a Spark application

标签 java eclipse apache-spark jetty-8

我正在使用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 <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="41122e222a2435022e2f2f2422352e3301716f716f716f71" rel="noreferrer noopener nofollow">[email protected]</a>: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 中,它将 jetty 服务器版本标识为 8.1.14 v232 。但在其上方标识为 8.y.z SNAPSHOT。 这是因为jetty服务器还是其他原因?我完全被困在这里了。

我的sparkContext配置如下

  conf.setAppName("Java API demo");
        conf.setMaster("local[*]");

最佳答案

Spark 使用“getResource”来读取与其打包的文件。这里它尝试为 Web UI 读取一些静态文件,如果这些文件被打包到 jar 中,这显然不起作用。相反,必须将它们提取到 jar 中,这是 Eclipse 提供的第一个选项: 1

关于java - 找不到 Web UI 的资源路径 : org/apache/spark/ui/static While creating a Spark application,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28559018/

相关文章:

apache-spark - 为什么Spark应用程序未在所有节点上运行

java - 将消息发送到 IP 地址后进行 AES 解密

java - Java 中的不可变/持久列表

java - 我可以在没有网络摄像头的情况下使用 Android 模拟器扫描二维码吗?

java - 将一个 JFrame 打开到另一个 JFrame 中

hadoop - 重命名在 hadoop - Spark 中创建的文件

java - 如何使用 Guava 中的 ListMultimap 对键列表中的元素求和

java - 用于隐藏 Java Web 服务的身份验证详细信息的外观

java - 如何使用 Selenium 检查登录表单中的成功和失败消息?

java - 使用 Spark 和 Java 读取和写入不同的 Mongo 集合