我们很难在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脚本?
答案 0 :(得分:1)
当你永远看到处于ACCEPTED状态的作业时,这意味着它实际上并没有运行,而是在等待YARN有足够的资源来运行应用程序。通常这是因为您已经有一些其他YARN应用程序正在运行并占用资源。找出是否是这种情况的最简单方法是查看主节点的端口8088上的YARN ResourceManager。如果已经ssh到主节点,也可以运行命令“yarn application -list”。