在 Yarn 集群上运行 Spark 作业的问题
Posted
技术标签:
【中文标题】在 Yarn 集群上运行 Spark 作业的问题【英文标题】:issue Running Spark Job on Yarn Cluster 【发布时间】:2015-04-25 17:22:16 【问题描述】:我想在 Hadoop YARN 集群模式下运行我的 spark Job,我正在使用以下命令:
spark-submit --master yarn-cluster
--driver-memory 1g
--executor-memory 1g
--executor-cores 1
--class com.dc.analysis.jobs.AggregationJob
sparkanalitic.jar param1 param2 param3
我在下面遇到错误,请提出问题所在,命令是否正确。我正在使用 CDH 5.3.1。
Diagnostics: Application application_1424284032717_0066 failed 2 times due
to AM Container for appattempt_1424284032717_0066_000002 exited with
exitCode: 15 due to: Exception from container-launch.
Container id: container_1424284032717_0066_02_000001
Exit code: 15
Stack trace: ExitCodeException exitCode=15:
at org.apache.hadoop.util.Shell.runCommand(Shell.java:538)
at org.apache.hadoop.util.Shell.run(Shell.java:455)
at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:702)
at org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:197)
at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:299)
at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:81)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Container exited with a non-zero exit code 15
.Failing this attempt.. Failing the application.
ApplicationMaster host: N/A
ApplicationMaster RPC port: -1
queue: root.hdfs
start time: 1424699723648
final status: FAILED
tracking URL: http://myhostname:8088/cluster/app/application_1424284032717_0066
user: hdfs
2015-02-23 19:26:04 DEBUG Client - stopping client from cache: org.apache.hadoop.ipc.Client@4085f1ac
2015-02-23 19:26:04 DEBUG Utils - Shutdown hook called
2015-02-23 19:26:05 DEBUG Utils - Shutdown hook called
任何帮助将不胜感激。
【问题讨论】:
你能粘贴你的 spark-defults.conf 吗? @user392589 你找到解决方案了吗? 我在使用 stepfunction 或 lambda 调用我的胶水作业时遇到了这个问题,但是如果我直接从胶水控制台运行它会成功,有人知道为什么吗?这是我的问题:***.com/questions/66139965/… 【参考方案1】:这可能意味着很多事情,对我们来说,由于不支持的 Java 类版本,我们会收到类似的错误消息,我们通过删除项目中引用的 Java 类来解决问题。
使用此命令查看详细的错误信息:
yarn logs -applicationId application_1424284032717_0066
【讨论】:
对于新版本,参数称为-applicationId
。【参考方案2】:
您应该删除代码中的“.setMaster("local")”。
【讨论】:
为什么是 `local' - 如果用户打算在集群模式下运行作业?【参考方案3】:命令看起来正确。
我遇到的是“退出代码 15”通常表示 TableNotFound 异常。这通常意味着您提交的代码有错误。
您可以通过访问跟踪 URL 进行检查。
【讨论】:
【参考方案4】:对我来说,通过将hive-site.xml
放在spark/conf
目录中解决了退出代码问题。
【讨论】:
【参考方案5】:如果您在集群下运行 spark 作业,请删除 spark 配置文件中的 "spark.master":"local[*]
" 行。
假设在本地电脑上运行,包含它。
玛尼
【讨论】:
以上是关于在 Yarn 集群上运行 Spark 作业的问题的主要内容,如果未能解决你的问题,请参考以下文章