2015-08-15 56 views
1

我有一個應用程序,構建在嵌入spark sql的Netty上的REST服務器以及執行分析查詢的hivecontext。 運行服務時,一切正常工作在IntelliJ上。但我建立了一個超級瓶子,裏面包含了所有的東西。並且無法運行,因爲Hive無法實例化其MetaStoreclient。 挖掘後似乎蜂巢無法解決數據核依賴。 我跑我的應用程序Spark SQL Hive Datanucleus jar Classpath

java -jar app.jar 

我已嘗試添加DataNucleus將罐子java命令...沒有運氣。 Spark doc建議使用--jars標誌運行此操作,但仍然沒有運氣。因爲我猜我沒有在這裏使用spark-submit。

任何幫助,非常感謝。 謝謝。

編輯:爲了回答下面的問題,是的,我現在在本地模式下啓動Spark作爲master = local [*]。 $ SPARK_HOME/conf /中有一個hive-site.xml。 當在IntelliJ中運行時,它工作正常,配置單元在項目目錄上創建一個本地Metastore,將其日誌吐出到derby.log中。當在實例化SparkContext和HiveContext的着色jar中啓動web服務器時,問題似乎就會發生。

+0

您是否將Spark上下文作爲獨立應用程序(無羣集)啓動?您的應用中是否存在hive-site.xml文件? – ra2085

回答

1

所以我設法解決了這個問題。因爲我用的是行家遮陽插件,我需要的DataNucleus將jar添加到類路徑

<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> 
    <manifestEntries> 
     <Main-Class>com.sparkserver.SparkServer</Main-Class> 
     <Class-Path>..libs/mysql-connector-java-5.1.36.jar ../libs/datanucleus-core-3.2.10.jar ../libs/datanucleus-api-jdo-3.2.6.jar ../libs/datanucleus-rdbms-3.2.9.jar ../libs/bonecp-0.8.0.RELEASE.jar 
    </Class-Path> 
    </manifestEntries> 
    </transformer> 

由於使用-jar擦除通常類路徑,我增加這些線與$ SPARK_HOME /庫的匹配的版本,並它工作得很好。

相關問題