Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1940750
  • 博文数量: 1000
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 7921
  • 用 户 组: 普通用户
  • 注册时间: 2013-08-20 09:23
个人简介

storage R&D guy.

文章分类

全部博文(1000)

文章存档

2019年(5)

2017年(47)

2016年(38)

2015年(539)

2014年(193)

2013年(178)

分类: 服务器与存储

2015-02-10 11:12:06

NameNode中的数据结构

一、NameNode在导入fsimage文件时,会生成的目录文件树状结构图,假设存在文件”/tmp/file1”,存在目录”/tmp/tmp3”,”/tmp2”;则生成的图如下:

二、FSNamesystem.blocksMap存放HDFS系统的所有block块信息;blocksMap的数据结构如下:

注:BlocksMap.BlockInfo类实现了LightWeightGSet.LinkedElement

三、NameNode生成的DataNode网络拓扑图

假设有三个DataNode,其中每个IP对应的路径如下:

IP 127.0.0.1 对应路径/d1/r1/h1;

IP 127.0.0.2 对应路径/d1/r1/h2;

IP 127.0.1.1 对应路径/d1/r2/h3;

因此上述信息生成一个网络拓扑图如下:

四、FSNamesystem.datanodemapstorageIDkey值存储所有DataNodeRegistration信息,即DataNode的信息;

五、FSNamesystem.host2DataNodemaphostnamekey值存储所有DataNodeRegistration信息,即DataNode的信息;

六、BlockInfo中三元组Object[]的结构如下图所示,其中NULL表示空

DataNode的数据结构

一、将所有${dfs.data.dir}/current路径下面的文件生成树状结构图;

假设dfs.data.dir配置为” /tmp/data”” /tmp/data2”,current下面各有2block块;树状图如下:

 

二、FSDataSet.vloumeMap存储所有${dfs.data.dir}/current下的所有block块信息;
阅读(1082) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~