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拓扑
最新推荐文章于 2025-12-23 14:34:44 发布
本文深入探讨了MapReduce计算环境中JobTracker与TaskTracker的心跳交互机制,详细解释了网络拓扑如何通过树形结构组织并记录主机位置,以及如何通过配置文件动态解析主机归属。
1120

被折叠的 条评论
为什么被折叠?



