【发布时间】:2017-08-07 14:07:12
【问题描述】:
由于各种原因,我正在使用 AMI 2.4.11/Hadoop 1.0.3 在 EMR 上运行一些作业。我试图通过添加一个额外的 EMR 步骤在我的工作之后运行 HDFS 的清理。使用 boto:
step = JarStep(
'HDFS cleanup',
'command-runner.jar',
action_on_failure='CONTINUE',
step_args=['hadoop', 'dfs', '-rmr', '-skipTrash', 'hdfs:/tmp'])
emr_conn.add_jobflow_steps(cluster_id, [step])
但是,它经常失败,在 EMR 控制台中的 stderr 中没有任何内容。 为什么我很困惑是如果我 ssh 进入主节点并运行命令:
hadoop dfs -rmr -skipTrash hdfs:/tmp
它以 0 成功,并显示它已成功删除所有内容的消息。所有正常的 hadoop 命令似乎都按记录工作。有谁知道这是否有明显的原因?亚马逊分销有问题吗?某些命令中的未记录行为?
注意: 我在 Hadoop 2 中运行了其他作业,并且记录在案:
hdfs dfs -rm -r -skipTrash hdfs:/tmp
作为一个步骤和一个命令都可以正常工作。
【问题讨论】:
标签: amazon-web-services hadoop hdfs elastic-map-reduce