2014-12-02 95 views
9

我已經設置了Apache的星火1.1.1紗線(Hadoop的2.5.2)運行運行Apache的星火計劃項目。我可以使用​​命令運行程序。紗線從IntelliJ IDEA的

我使用的IntelliJ IDEA 14.我能夠建立文物和運行使用​​產生的罐子。

不過,我想知道是否有可能直接從運行的IntelliJ整個程序?

我添加必要的庫和激活的hadoop-2.4輪廓。然而,我最終得到以下錯誤

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.security.UserGroupInformation.getCredentials()Lorg/apache/hadoop/security/Credentials; 
at org.apache.spark.deploy.yarn.ClientBase$class.$init$(ClientBase.scala:58) 
at org.apache.spark.deploy.yarn.Client.<init>(Client.scala:37) 
at org.apache.spark.deploy.yarn.Client.<init>(Client.scala:43) 
at org.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.start(YarnClientSchedulerBackend.scala:91) 
at org.apache.spark.scheduler.TaskSchedulerImpl.start(TaskSchedulerImpl.scala:141) 
at org.apache.spark.SparkContext.<init>(SparkContext.scala:333) 
at org.apache.spark.api.java.JavaSparkContext.<init>(JavaSparkContext.scala:53) 
at WordCountWorkFlow.main(WordCountWorkFlow.java:24) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) 

有人可以告訴我我哪裏去錯了嗎?

+1

不,我沒有。現在,我正在構建項目的工件並使用spark-submit運行它。 – aps 2014-12-31 15:19:01

+1

順便說一句,當你構建工件時,你做了什麼步驟?你是否包含依賴關係?一個簡單的jar最終爲我100MB ... – Stephane 2015-01-02 13:41:22

+0

雖然使用IntelliJ的想法,我只是將編譯輸出添加到工件,除了建議的maven庫。大小約爲13.8 KB。 – aps 2015-01-05 17:05:58

回答

0

在的IntelliJ你必須添加這是你的Hadoop的conf目錄的路徑

去項目設置的依賴關係和依賴關係添加路徑 $ HADOOP_HOME的/ etc/Hadoop的

,如果你正在使用>來源 - - 然後從項目設置任何的λ>語言級別設置8λ型annonation enter image description here