NameNode和DataNode中重要的数据结构解析
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.datanodemap以storageID为key值存储所有DataNodeRegistration信息,即DataNode的信息;
五、FSNamesystem.host2DataNodemap以hostname为key值存储所有DataNodeRegistration信息,即DataNode的信息;
六、BlockInfo中三元组Object[]的结构如下图所示,其中NULL表示空
DataNode的数据结构
一、将所有${dfs.data.dir}/current路径下面的文件生成树状结构图;
假设dfs.data.dir配置为” /tmp/data”和” /tmp/data2”,且current下面各有2个block块;树状图如下:
二、 FSDataSet.vloumeMap存储所有 ${dfs.data.dir}/current下的所有 block块信息;
NameNode和DataNode中重要的数据结构解析相关推荐
- hadoop中NameNode、DataNode和Client三者之间协作关系及通信方式介绍
<ignore_js_op> 1)NameNode.DataNode和Client NameNode可以看作是分布式文件系统中的管理者,主要负责管理文件系统的命名空间.集 ...
- NameNode之DataNode管理
NameNode启动之后,回加载fsimage和editlog文件重建文件系统目录树,但是对于数据块与DataNode之间的映射关系却需要在DataNode上报后动态构建. DataNode启动之后, ...
- namenode和datanode工作机制_HDFS详解一:namenode、datanode工作原理
1. 概述HDFS集群分为两大角色:NameNode.DataNode(Secondary NameNode) NameNode负责管理整个文件系统的元数据,记录存放在哪些datanode中,以及存放 ...
- 【从蛋壳到满天飞】JS 数据结构解析和算法实现-AVL树(一)
前言 [从蛋壳到满天飞]JS 数据结构解析和算法实现,全部文章大概的内容如下: Arrays(数组).Stacks(栈).Queues(队列).LinkedList(链表).Recursion(递归思 ...
- FreeMarker对应各种数据结构解析
FreeMarker对应各种数据结构解析 FreeMarker 是一个采用 Java 开发的模版引擎,是一个基于模版生成文本的通用工具. FreeMarker 被设计用来生成 HTML Web 页面, ...
- linux 可执行文件_linux中ELF二进制程序解析
0. 简介 在Linux系统的可执行文件(ELF文件)中,开头是一个文件头,用来描述程序的布局,整个文件的属性等信息,包括文件是否可执行.静态还是动态链接及入口地址等信息:如下图所示: 程序文件中包含 ...
- 【从蛋壳到满天飞】JS 数据结构解析和算法实现-哈希表
前言 [从蛋壳到满天飞]JS 数据结构解析和算法实现,全部文章大概的内容如下: Arrays(数组).Stacks(栈).Queues(队列).LinkedList(链表).Recursion(递归思 ...
- NameNode与DataNode的工作原理剖析
NameNode与DataNode的工作原理剖析 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HDFS写数据流程 1>.客户端通过Distributed FileSys ...
- namenode和datanode工作机制_Hadoop的namenode的管理机制,工作机制和datanode的工作原理...
HDFS前言: 1) 设计思想 分而治之:将大文件.大批量文件,分布式存放在大量服务器上,以便于采取分而治之的方式对海量数据进行运算分析: 2)在大数据系统中作用: 为各类分布式运算框架(如:mapr ...
最新文章
- 北京中医药大学等8所高校被世界医学院校名录除名,毕业生无法获取英美从医资格...
- 编译 android 内核,编译内核 | Android 开源项目 | Android Open Source Project
- sprintf-%s的用法
- linux克隆的虚拟,linux(CentOS7)下克隆虚拟机并配置网络(固定ip)
- (转)openlayers实现在线编辑
- JavaBeginnersTutorial 中文系列教程·翻译完成
- php myadmin 安装
- java odjc ResultSet 的使用详解
- 单线程+异步协程的简单爬虫模型
- 解决 VMware 新装 CentOS 7.* 连不上网络
- vue 列表 萌层 鼠标移入移出_10 分钟上手 Vue 组件 Vue-Draggable
- 南京超过广州,4 月程序员工资统计出炉,平均14596元
- akb48_原AKB48成员板野友美结婚了!闪嫁23岁职棒球员高桥奎二
- WEBPACK+ES6+REACT入门(4/7)-评论列表DEMO以及CSS样式
- matlab调用refprop9.0,Matlab调用REFPROP完全说明
- eps提取高程点在哪里_Eps总结(3)——Eps使用点云生成等高线及高程点
- 阿里云服务器上传下载速度测试(Speedtest带宽测试工具)
- 2021 Java面试真题集锦
- WindowsXP桌面图标蓝底怎么消除并恢复原始状态
- Vue实例--音乐播放器:歌单数据接口分析