共计 1177 个字符,预计需要花费 3 分钟才能阅读完成。
了解 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 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm
Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm
Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm
Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm
单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm
搭建 Hadoop 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm
更多 Hadoop 相关信息见 Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13