【发布时间】:2016-09-30 12:41:49
【问题描述】:
我已将 Apache Spark 1.1.1 设置为在 YARN (Hadoop-2.5.2) 上运行。我可以使用spark-submit 命令运行程序。
我正在使用 IntelliJ IDEA 14。我能够构建工件并使用 spark-submit 运行生成的 jar。
但是,我想知道是否可以直接从 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)
谁能告诉我哪里出错了?
【问题讨论】:
-
不,我没有。现在,我正在构建我的项目的工件并使用 spark-submit 运行它。
-
顺便说一句,当您构建工件时,您做了哪些步骤?你包括依赖项吗?一个简单的 jar 最终对我来说是 100MB...
-
在使用 IntelliJ 想法时,除了建议的 maven 库之外,我只是将编译输出添加到工件中。大小约为 13.8 KB。
-
你正在使用 sbt 或 maven 构建包?
标签: intellij-idea apache-spark