在EMR上运行python spark

时间:2016-09-20 17:33:01

标签: apache-spark pyspark emr

我们很难在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]

我们正在运行相同的pyspark compute pi script as the AWS page suggests

此脚本运行,但它会永远运行计算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上运行example python spark pi脚本?

1 个答案:

答案 0 :(得分:1)

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

相关问题