【发布时间】:2015-06-14 13:29:29
【问题描述】:
如果我们需要自动化 mapreduce 程序或从脚本运行,检查 mapreduce 程序是否成功运行的不同方法有哪些?一种方法是查找是否在输出目录中创建了 _SUCCESS 文件。命令“hadoop jar program.jar hdfs:/input.txt hdfs:/output”是根据成功还是失败返回0还是1?
【问题讨论】:
如果我们需要自动化 mapreduce 程序或从脚本运行,检查 mapreduce 程序是否成功运行的不同方法有哪些?一种方法是查找是否在输出目录中创建了 _SUCCESS 文件。命令“hadoop jar program.jar hdfs:/input.txt hdfs:/output”是根据成功还是失败返回0还是1?
【问题讨论】:
就像 Linux 中的任何其他命令一样,您可以检查某个命令的退出状态 hadoop jar 命令使用内置变量 $?。
您可以使用:
echo $?
执行 hadoop jar 命令后检查其状态。
退出状态值从 0 到 255 不等。退出状态为零表示命令执行成功,而非零值表示命令失败。
编辑:要了解如何实现自动化或从脚本运行,请参阅Hadoop job fails when invoked by cron。
【讨论】: