【HDFS】Hadoop的机架感知策略是啥?

了解Hadoop的或多或少都听说过机架感知策略,无论是balancer还是jobtracker分配作业,数据副本放置策略都会用到机架感知。那什么叫机架感知?

首先故名思意机架感知就是感知机架,谁感知?就是hadoop系统嘛,更确切地说是hadoop能在系统内部建立一套服务器和机架的位置拓扑图,并且能识别系统节点的拓扑位置,知道了这些,才能做副本放置策略、作业本地化等更高层的设计。

难道说hadoop系统能自动感应集群或者机房内部的网路拓扑结构?想想看,各个公司的机房拓扑或者网络结构都不一样,采用的设备类型也不相同,hadoop真的那么吊能感受到?显然不能!hadoop系统想获得这个网络拓扑结构,需要系统管理员的帮助。

试想一下,hadoop能构建一幅网络拓扑图,实际的网络拓扑图又千变万化,管理员该怎么弄?所以这时候hadoop有必要设计一套标准的拓扑图结构,管理员需要让实际的网络拓扑结构尽量地与之适配。

有了这些基础想法之后,我们就可以往下进行了。之前看过一段时间datanode的代码,大家都知道datanode在启动的时候有一个向namenode注册的过程,以建立与namenode的上下级关系,也可以认为是拜码头。那就循着这条路线往里看机架感知的原理。DatanodeProtocol定义了注册方法接口

public DatanodeRegistration register(DatanodeRegistration registration
                                      ) throws IOException;

相关阅读

Ubuntu 13.04上搭建Hadoop环境

Ubuntu 12.10 +Hadoop 1.2.1版本集群配置

Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)

Ubuntu下Hadoop环境的配置

单机版搭建Hadoop环境图文教程详解

搭建Hadoop环境(在Winodws环境下用虚拟机虚拟两个Ubuntu系统进行搭建)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/4d4694b9f67a579895ff432299cbfdbb.html