运行 python EMR 上的火花
Running python spark on 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
此脚本 运行s,但它 运行s 永远计算圆周率。在本地机器上需要几秒钟才能完成。我们也尝试过客户端模式。在客户端模式下,它让我们在本地传输文件。
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 脚本永远 运行ning 吗?
当您看到作业永远处于 ACCEPTED 状态时,这意味着它实际上并不是 运行ning 而是在等待 YARN 有足够的资源来 运行 应用程序。通常这是因为您已经有一些其他 YARN 应用程序 运行正在占用资源。查明是否属于这种情况的最简单方法是查看主节点 8088 端口上的 YARN ResourceManager。如果你已经通过 ssh 连接到主节点,你也可以 运行 命令 "yarn application -list"。
我们很难 运行在 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
此脚本 运行s,但它 运行s 永远计算圆周率。在本地机器上需要几秒钟才能完成。我们也尝试过客户端模式。在客户端模式下,它让我们在本地传输文件。
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 脚本永远 运行ning 吗?
当您看到作业永远处于 ACCEPTED 状态时,这意味着它实际上并不是 运行ning 而是在等待 YARN 有足够的资源来 运行 应用程序。通常这是因为您已经有一些其他 YARN 应用程序 运行正在占用资源。查明是否属于这种情况的最简单方法是查看主节点 8088 端口上的 YARN ResourceManager。如果你已经通过 ssh 连接到主节点,你也可以 运行 命令 "yarn application -list"。