簡體   English   中英

使用Apache Spark作為Web應用程序中的緩存

[英]Using apache spark as Cache in a web-App

我有一個任務要在我的Web應用程序中使用Spark作為緩存,我瀏覽了其文檔中共享的示例Java代碼,並能夠獨立運行它。

但是,當我在webapp內部(在servlet init()中)對其進行初始化時,也嘗試在spring上下文中對其進行初始化,但是無論哪種方式都失敗了。

我正在使用Apache Spark 1.1.0和針對Hadoop 2.4的預構建包(spark-assembly-1.1.0-hadoop2.4.0.jar)

我的INIT()

init() {
        System.out.println("BaseService initialized");
        SparkConf conf = new SparkConf().setAppName("Spark").setMaster("local[*]");
        sparkContext = new JavaSparkContext(conf);
        cacheMap = new HashMap<>();     
    }

錯誤:(將Tomcat用作服務器時)

 WEB-INF\lib\spark-assembly-1.1.0-hadoop2.4.0.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class

錯誤:(當我嘗試使用Jetty作為服務器時)

     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)

在這方面的任何幫助將不勝感激。

導致上述問題的一個可能原因是您擁有帶有servlet api的火花罐,即javax.servlet。*大多數情況下,您本可以使用maven來獲取火花罐,現在您嘗試將應用程序放置在tomcat容器中並嘗試運行它在加載類tomcat時發現該特定的jar具有servlet jar,並且未加載該jar,因此,該具有jar類和servlet的jar最終未加載,從而找不到JavaSparkContext類,一種克服的方法是刪除火花罐中的servlet API

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM