如何判断我是否要在群集或“本地”模式下运行Hadoop流式传输作业?

时间:2011-12-31 04:32:34

标签: hadoop local cluster-computing hadoop-streaming

当盒子上没有运行hadoop实例时,Hadoop流将以“本地”模式运行该进程。我有一个shell脚本按顺序控制一组hadoop流作业,我需要根据作业是否在本地运行,将文件从HDFS复制到本地。有没有标准的方法来完成这个测试?我可以做一个“ps aux | grep something”,但这似乎是特别的。

3 个答案:

答案 0 :(得分:0)

  

当盒子上没有运行hadoop实例时,Hadoop流将以“本地”模式运行该进程。

你能指出这个参考吗?

常规或流式传输作业将按其配置方式运行,因此我们提前了解作业运行的模式。请查看文档,以便在Single NodeCluster以不同模式配置Hadoop。

答案 1 :(得分:0)

不是尝试在运行时检测进程正在运行的模式,最好将您正在开发的工具包装在显式选择本地vs集群操作的bash脚本中。 O'Reilly Hadoop描述了如何使用配置文件覆盖显式选择本地:

hadoop v2.MaxTemperatureDriver -conf conf/hadoop-local.xml input/ncdc/micro max-temp

其中conf-local.xml是为本地操作配置的XML文件。

答案 2 :(得分:0)

我还没试过,但我想你可以读出mapred.job.tracker配置设置。