hadoop2 federation 联盟 简介

1 简介

Hdfs federation实际是把多个hdfs集群统一到一个命名空间下。

Hdfs federation 作用扩大NN容量,共享DN数据,且方便客户端访问。

如何实现federation哪?使用client side mount table

 

使用场景:

a) 集群一部分对内使用,一部分对外开放 可以做成两个ha下的federation,第一个对内访问 第二个对外使用

b) 一般发部分应用下 namenode内存在64G已经算是很不错了 可以不使用federation,仅扩大内存即可

c) 使用federation的好处是 增强namenode的吞吐量,在namenode吞吐量收到瓶颈下可以考虑使用federation

 

 

2 结构图:

 



 

 不同namenode管理不同集群的datanode 但是这些datanode针对不同nn共享磁盘,防止某集群dn使用率不高问题。

看上图,可以看到不同颜色的dn data block 会存储在dn中,同时根据颜色他们(幼儿园的孩子)会自动找到他们的妈妈(nn)

 



 

 

 

多个NN共用一个集群里DN上的存储资源,每个NN都可以单独对外提供服务
每个NN都会定义一个存储池,有单独的id,每个DN都为所有存储池提供存储
DN会按照存储池id向其对应的NN汇报块信息,同时,DN会向所有NN汇报本地存储可用资源情况
如果需要在客户端方便的访问若干个NN上的资源,可以使用客户端挂载表,把不同的目录映射到不同的NN,但NN上必须存在相应的目录

这样设计的好处大致有:

改动最小,向前兼容
    现有的NN无需任何配置改动.
    如果现有的客户端只连某台NN的话,代码和配置也无需改动。
分离命名空间管理和块存储管理
    提供良好扩展性的同时允许其他文件系统或应用直接使用块存储池
    统一的块存储管理保证了资源利用率
    可以只通过防火墙配置达到一定的文件访问隔离,而无需使用复杂的Kerberos认证
客户端挂载表
    通过路径自动对应NN
    使Federation的配置改动对应用透明

 

 

 

3 安装待补充

猜你喜欢

转载自chengjianxiaoxue.iteye.com/blog/2175786