JobTracker启动后,第一次收到TaskTracker的心跳消息,对收到的TaskTracker所在的主机加入到MapReduce计算环境的网络拓扑中。网络拓扑以树形的方式记录:ROOT(0)->NetworkLocation(1)->Host(2),()号中的数字是网络的level,ROOT是虚节点,整个MapReduce计算网络的根,level是0;ROOT下分多个NetworkLocation,在默认配置一下只有一个“/default/rack/”一个网络,所有的Host都添加在该节点下,Network Location的level是1。用户也可以配置参数“topology.script.file.name”,指定某个脚本文件对心跳消息中接收到的TaskTracker主机进行动态解析指定该Host位于哪个NetworkLocation。NetworkLocation下是主机,每个Network Location下存在多个主机,level是2。
整个网络的拓扑信息ROOT(0)->NetworkLocation(1)->Host(2)记录在NetworkTopology类中。在JobTracker类中hostnameToNodeMap还记录了主机名称对应的节点信息,nodesAtMaxLevel记录了所有NetworkLocation节点信息。MapReduce(十三): MapReduce拓扑
最新推荐文章于 2019-12-08 14:19:38 发布