在 EMR 上运行 Python Spark

问题描述 投票:0回答:2

我们在 EMR 上运行 python Spark 作业遇到了困难。

aws emr add-steps --cluster-id j-XXXXXXXX --steps \
Type=CUSTOM_JAR,Name="Spark Program",\
Jar="command-runner.jar",ActionOnFailure=CONTINUE,\ 
Args=["spark-submit",--deploy-mode,cluster,--master,yarn,s3://XXXXXXX/pi.py,2]

我们正在运行与 AWS 页面建议相同的 pyspark 计算 pi 脚本

该脚本运行,但它会永远运行以计算 pi。在本地计算机上,需要几秒钟才能完成。我们也尝试过客户端模式。在客户端模式下,它使我们在本地传输文件。

16/09/20 15:20:32 INFO Client: 
     client token: N/A
     diagnostics: N/A
     ApplicationMaster host: N/A
     ApplicationMaster RPC port: -1
     queue: default
     start time: 1474384831795
     final status: UNDEFINED
     tracking URL: http://XXXXXXX.ec2.internal:20888/proxy/application_1474381572045_0002/
     user: hadoop
16/09/20 15:20:33 INFO Client: Application report for application_1474381572045_0002 (state: ACCEPTED)
Repeats this last command over and over...

有谁知道如何在 EMR 上运行 示例 python Spark pi 脚本而不使其永远运行?

apache-spark pyspark emr
2个回答
1
投票

当您看到作业永远处于 ACCEPTED 状态时,这意味着它实际上并未运行,而是正在等待 YARN 有足够的资源来运行应用程序。通常这是因为您已经有一些其他 YARN 应用程序正在运行并占用资源。确定是否属于这种情况的最简单方法是查看主节点端口 8088 上的 YARN ResourceManager。如果您已通过 ssh 连接到主节点,还可以运行命令“yarn application -list”。


0
投票

您能解决这个问题吗?我面临类似的问题,但它不会永远处于“已接受”状态,但它失败了 4/02/23 22:43:40 INFO 客户端:application_1701 的申请报告(状态:已接受) 24/02/23 22:43:41 INFO 客户端:application_1701 的申请报告(状态:已接受) 24/02/23 22:43:application_1701 INFO 客户端:application_1701 的申请报告(状态:已接受) 24/02/23 22:43:43 INFO 客户端:application_1701 的申请报告(状态:已接受) 24/02/23 22:43:44 INFO 客户端:application_1701 的申请报告(状态:已接受) 24/02/23 22:43:45 INFO 客户端:application_1701 的申请报告(状态:已接受) 24/02/23 22:43:46 INFO 客户端:application_1701 的申请报告(状态:已接受) 24/02/23 22:43:47 INFO 客户端:application_1701 的申请报告(状态:已接受) 24/02/23 22:43:48 INFO 客户端:application_1701 的申请报告(状态:已接受) 24/02/23 22:43:49 INFO 客户端:application_1701 的申请报告(状态:已接受) 24/02/23 22:43:50 INFO 客户端:application_1701 的申请报告(状态:已接受) 24/02/23 22:43:51 INFO 客户端:application_1701 的申请报告(状态:失败)

© www.soinside.com 2019 - 2024. All rights reserved.