Hadoop 原MapReduce框架
JobClient会发送一个Job,JobTracker来管理这个Job的信息,要在哪个机器上运行,用到哪个机器的资源。还要定时向各个TaskTrack发送heartbeat,收集Job的执行情况。 JobTracker作为MapReduce框架的核心,起到分配资源,管理Job成功失败的作用。
TaskTracker则分布在每个机器上,通过heartbeat向JobTracker发送Job执行情况。
缺点
1. JobTracker 分配管理所有Job,存在单点故障。
2. 太多Job的话内存开销太大,JobTracker的资源消耗过大,所以原本的MapReduce框架最多支持4000节点。
新的MapReduce框架
JobTracker的作业分配和资源调度是分开的,资源管理交给了ResourceManager,作业分配交给了ApplicationMaster。TaskTracker演化为NodeManager。