当盒子上没有运行hadoop实例时,Hadoop流将以“本地”模式运行该进程。我有一个shell脚本按顺序控制一组hadoop流作业,我需要根据作业是否在本地运行,将文件从HDFS复制到本地。有没有标准的方法来完成这个测试?我可以做一个“ps aux | grep something”,但这似乎是特别的。
答案 0 :(得分:0)
当盒子上没有运行hadoop实例时,Hadoop流将以“本地”模式运行该进程。
你能指出这个参考吗?
常规或流式传输作业将按其配置方式运行,因此我们提前了解作业运行的模式。请查看文档,以便在Single Node和Cluster以不同模式配置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配置设置。