我已多次看到以下行为,无法弄清楚为什么会发生这种情况。
我有一个像这样的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
UidAggregator在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命令跟随一个' hadoop jar'作业仍在运行时命令启动(作业跟踪器显示作业正在成功运行)。
有没有人见过这种行为?我认为bash scrip不应该执行下一个命令,直到先前的命令退出。