Amazon web services 在Hadoop 1.0.3中清除AWS EMR上HDFS的数据

Amazon web services 在Hadoop 1.0.3中清除AWS EMR上HDFS的数据,amazon-web-services,hadoop,hdfs,elastic-map-reduce,Amazon Web Services,Hadoop,Hdfs,Elastic Map Reduce,出于各种原因,我正在使用AMI2.4.11/Hadoop1.0.3在EMR上运行一些作业。我正在尝试在我的作业之后通过添加额外的EMR步骤来运行HDF清理。使用boto: step = JarStep( 'HDFS cleanup', 'command-runner.jar', action_on_failure='CONTINUE', step_args=['hadoop', 'dfs', '-rmr', '-skipTr

出于各种原因,我正在使用AMI2.4.11/Hadoop1.0.3在EMR上运行一些作业。我正在尝试在我的作业之后通过添加额外的EMR步骤来运行HDF清理。使用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


作为一个步骤和一个命令都可以正常工作。

我的解决方案通常是将所有内容升级到Hadoop2,在这种情况下,这是可行的:

        JarStep(
            '%s: HDFS cleanup' % self.job_name,
            'command-runner.jar',
            action_on_failure='CONTINUE',
            step_args=['hdfs', 'dfs', '-rm', '-r', '-skipTrash', path]
        )
这是我用Hadoop1所能得到的最好的,它运行得非常好

        JarStep(
            '%s: HDFS cleanup' % self.job_name,
            'command-runner.jar',
            action_on_failure='CONTINUE',
            step_args=['hadoop', 'fs', '-rmr', '-skipTrash',
                       'hdfs:/tmp/mrjob']
        )

我的解决方案通常是将所有内容升级到Hadoop2,在这种情况下:

        JarStep(
            '%s: HDFS cleanup' % self.job_name,
            'command-runner.jar',
            action_on_failure='CONTINUE',
            step_args=['hdfs', 'dfs', '-rm', '-r', '-skipTrash', path]
        )
这是我用Hadoop1所能得到的最好的,它运行得非常好

        JarStep(
            '%s: HDFS cleanup' % self.job_name,
            'command-runner.jar',
            action_on_failure='CONTINUE',
            step_args=['hadoop', 'fs', '-rmr', '-skipTrash',
                       'hdfs:/tmp/mrjob']
        )