1、客戶端調用作業提交函數將程序提交到JobTracker;
2、JobTracker收到新的作業後,通知任務調度器對作業初始化;
3、TastTracker向JobTracker匯報心跳,其中包含剩余的slot數目和能否接受新的任務等信息
4、如果這個TaskTracker能夠接受新的任務,則JobTracker調用TaskScheduler對外函數assignTasks為該TaskTracker分配新的任務;
5、TaskTracker按照一定的調度策略為該TaskTracker選擇最合適的任務列表,並將該列表返回給JobTracker;
6、JobTracker將任務列表以心跳應答的形式返回給對應的TaskTracker;
7、TaskTracker收到心跳應答後,啟動該任務;