我已经见过以下行为好几次了,不知道为什么会发生。
我有这样的bash脚本:
echo "execute UidGenerator"
hadoop jar foo.jar com.xyz.platform.UidGenerator input_path output_path
echo "execute UidAggregator"
hadoop jar foo.jar com.xyz.platform.UidAggregator input_path output_path
uidgenerator应在uidgenerator完成之前启动。但是,我看到了以下日志,第二个作业在第一个作业仍在运行时启动。
16/08/22 07:46:42 INFO mapred.JobClient: map 100% reduce 68%
16/08/22 07:47:29 INFO mapred.JobClient: map 100% reduce 69%
16/08/22 07:49:01 INFO mapred.JobClient: map 100% reduce 70%
execute UidAggregator
这种行为我见过好几次了。shell命令跟随“hadoopjar”命令,在作业仍在运行时启动(job tracker显示作业正在成功运行)。
有人见过这种行为吗?我认为bash scrip不应该在前一个命令退出之前执行下一个命令。
暂无答案!
目前还没有任何答案,快来回答吧!