hadoop由于是应用于集群,所以进程比较多,且主从服务器上的进程并不完全一样.
namenode 和 jobtracker属于master, datanode 和 tasktracker属于slave .
SecondaryNameNode 内存需求和NameNode 在一个数量级上,所以通常secondary NameNode(运行在单独的物理机器上)和
NameNode运行在不同的机器上.
JobTracker 和 TaskTracker
JobTracker 对应于 NameNode
TaskTracker 对应于 DataNode
DataNode 和 NameNode 是针对数据存放来而言的.
JobTracker 和 TaskTracker 是针对MapReduce 执行而言的.
mapreduce中几个主要概念,mapreduce整体上可以分为这么几条执行线索:
jobclient, JobTracker 与 TaskTracker.
1.JobClient 会在用户端通过JobClient 类将应用已经配置参数打包成jar文件存储到hdfs,并把路径提交到JobTracker,然后由JobTracker创建每一个Task
(即MapTask 和 ReduceTask),并将它们分发到各个TaskTracker服务中去执行.
2.JobTracker是一个master服务,软件启动之后JobTracker接收Job,负责调度Job的每一个子任务task,运行于TaskTracker上,
并监控他们,如果发现有失败的task就重新运行它,一般情况下,应该把JobTracker部署在单独的机器上.
3.TaskTracker 是运行在多个节点上的slaver服务.TaskTracker 主动与 JobTracker通信,接收作业,并负责直接执行每一个任务.
TaskTracker 都需要运行在HDFS 的 DataNode上.
注:由于没找到出处,所以就不写来源了.