Hadoop1.X运行架构
首先了解,Job Tracker和Task Tracker都是常服务
客户端先和HDFS交互,取到文件的block块信息,由客户端将block按照配置切成split切片,切片的大小完全由配置决定,可以和block块大小相等,也可以大于或者小于。因为客户端获取到的block块信息有偏移量和块的位置信息,所以产生的split切片也会有block所在的位置信息和便宜量,由此获得了文件的split切片清单。又因为split数量和map的数量是一对一的,因此在此时客户端就已经知道了需要多少个map来处理这个任务。第二点,客户端会将jar包、配置信息以及切片清单上传到HDFS的某个目录中,而且副本数为10,由此如果有很多map来拉取的时候可以到不同的节点拉取,避免多个map到一个节点读取文件信息的时候单个节点的资源受限问题。第三点,客户端会连接Job Tracker,让Job Tracker完成MapTask和ReduceTask的调度,所以Job Tracker有一个作用是调度所有作业,此外,Job Tracker会接收来自Task Tracker汇报的各个DataNode节点上的资源情况,所以Job Tracker的另一个作用就是集群的资源管理。
所以Hadoop1.X中客户端,Job Tracker和Task Tracker的作用分别如下:
Job Tracker:核心,主,单点
1)调度所有作业
2)监控集群的