分享

hadoop数据存储时,按照什么算法确定哪些datanode和block存储及副本block位置

when30 发表于 2013-10-25 10:43:43 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 4 9224
跪求各位大虾,如题,谢谢!

已有(4)人评论

跳转到指定楼层
xiaolongwu1987 发表于 2013-10-25 10:43:43
存储算法:
如果设置了threshold,namenode会先找没有达到threshold的节点存放,然后第一个副本存放在该节点的同一个rack的相邻datanode上,第二个副本在不同rack的datanode上。 如果没有threshold,是随机存放。
副本位置:
副本的命名是一样的。namenode内存中保留了一个表,这个表里面包含了每个block在什么为止。可以看看sourcecode。
回复

使用道具 举报

qz2003 发表于 2013-10-25 10:43:43
恩,好的,谢谢
回复

使用道具 举报

shihailong123 发表于 2013-10-25 10:43:43
回复 2# airbots
    不好意思,能给个具体的实现代码给我吗,谢谢
回复

使用道具 举报

nettman 发表于 2014-6-2 16:58:13
位置信息存储在BlocksMap中
详细可以查看
深度了解namenode---其 内部关键数据结构原理简介



BlocksMap的作用是什么?
BlocksMap实际上就是一个Block对象对BlockInfo对象的一个Map表
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条