2019独角兽企业重金招聘Python工程师标准>>>

我们都知道Hadoop的底层是HDFS-Hadoop Distributed File System.也就是Hadoop分布式文件系统。

所有的运算都是基于HDFS文件的,它的核心关键词有:主从NameNode VS DataNode.

-----------其中NameNode上存储的就是元数据---描述数据文件的meta信息。

存在形式有:内存信息+硬盘文件信息。

这段时间,就让我们一起来了解HDFS的元数据以及HDFS文件系统的要义吧。

-------------------------------------------------------------------------------------------------

试想,如果让我们自己设计一个文件系统,我们需要元数据存储哪些信息?

其实这取决于信息得到哪些功能?

个人认为功能包括:

1)namenode和所有datanode的IP,端口,文件夹,容量等信息。这相当于一个总体的文件系统框架描述。

2)每个datanode的文件的层次描述,文件目录关系。这个比1就更细致了。

3)对于某个文件,知道拆分了几块,每块的大小,备份情况,分别分布在哪些datanode上的哪些路径上。

从1我们可以得到分布式文件系统框架的骨架,从2我们可以得到分布式文件系统的血肉,从3我们可以得到具体的访问一个文件的方式。

有了以上3个,实际上就是namenode的元数据信息的组成部分,一切从应用的需求出发才可以得到设计图。

-------------------------------------------------------------------------------------------------

启动时,元数据从硬盘里被FSImage读取到内存中。

在持久化时,元数据被FSImage持久化到硬盘中。

同时硬盘中也会存放操作日志edits.我目前的理解是:把操作日志的行为累加起来---》最终的元数据。

这个也就像是redis里干的一样了。很多数据库也是这么操作的,这个没啥好说的,很简答!

-------------------------------------------------------------------------------------------------

HDFS也引入了INode,这实际上跟linux中的文件系统中的INode是一样的,其次就是由于是分布式文件系统

所以每个文件的分片在hdfs中就成了Block。块。

这里必须要强调:块是按照物理大小分的,而不是分局逻辑大小,这样会引入什么问题?

就是一个逻辑记录可能会分到2个块中,而这2个块可能还是跨机器的。

这些hadoop都会解决。以后再讨论。

-------------------------------------------------------------------------------------------------

理论讲得再多,也不及代码来得实在而痛快。

下面就讲一讲HDFS的format究竟做了哪些事情!

转载于:https://my.oschina.net/qiangzigege/blog/345055

HDFS【2.5.1】系列1:HDFS的核心数据结构---元数据相关推荐

  1. 【Hadoop系列】HDFS

    Hadoop的前世今生 什么是大数据 各行各业都会产生大量的数据,比如社交网站的意见观点,电商平台人们浏览网页停留的时间,交通运输每天产生的数据等等.这些数据大多不是结构化的,一般来说都是半结构化或者 ...

  2. Hadoop 生态系列之 HDFS

    目前 Hadoop 系列文章的规划就是这样,持续补充完善中... 同时可以访问 :https://data.cuteximi.com Hadoop 生态系列之1.0和2.0架构 Hadoop 生态系列 ...

  3. Hadoop 系列之 HDFS

    Hadoop 系列之 HDFS 花絮 上一篇文章 Hadoop 系列之 1.0和2.0架构 中,提到了 Google 的三驾马车,关于分布式存储,计算以及列式存储的论文,分别对应开源的 HDFS,Ma ...

  4. 大数据方向学习系列——hadoop——hdfs学习

    文章目录 1.HDFS概述 1.1 HDFS产生背景 1.2 HDFS优点 1.3 HDFS缺点 1.4 HDFS组成架构 1.5 HDFS文件块大小(面试重点) 2. HDFS的Shell操作(开发 ...

  5. Hadoop系列之HDFS和MapReduce的使用

    一.概述 1.1 大数据概念 大数据是需要新处理模式才能具有更强的决策力.洞察发现力和流程优化能力来适应海量.高增长率和多样化的信息资产. 1.2 大数据面临的问题 存储:单机存储有限,需要使用集群( ...

  6. HDFS系列(3) | HDFS的Shell常用命令大全

    此次更新的的博文是关于HDFS的shell的常用命令,希望大家能够喜欢 目录 一. 基本语法 二. 命令大全 三. 常用命令实操 1. 常用命令及其作用对比表 2. 常用命令的实际操作 一. 基本语法 ...

  7. HDFS原理 | 一文读懂HDFS架构与设计

    1 前言 HDFS(Hadoop Distributed File System)是我们熟知的Hadoop分布式文件系统,是一个高容错的系统,能提供高吞吐量的数据访问,非常适合大规模数据集上的应用.H ...

  8. hdfs删除文件 java_分布式文件系统HDFS——基础篇

    我们在上一篇<向Hadoop Say Hello--初识Hadoop>中已经对HDFS进行了简单介绍,还不清楚HDFS是什么的朋友可以点击上面链接先看上一篇,在这一篇中我们聚焦HDFS,从 ...

  9. 无法执行操作。 Note: you are a Hue admin but not a HDFS superuser, root or part of HDFS supergroup, supe

    Hue和hdfs集成之后,在hue中hdfs的user目录下创建目录报错: 无法执行操作. Note: you are a Hue admin but not a HDFS superuser, &q ...

最新文章

  1. Kubernates集群入门(1)
  2. Parallel小记
  3. 《赢道:成功创业者的28条戒律》成都签售会魅力登场(背景)
  4. mac系统下安装、启动、停止mongodb
  5. python汉字转到ascii码_python中字母与ascii码的相互转换
  6. vue的自定义标签tag是什么意思啊_好好的衣服为什么洗一次就废,服装标签上的图标究竟是什么意思?...
  7. python的编程模式-python编程(python开发的三种运行模式)【转】
  8. 常规网站模板(flash作div背景)
  9. 论文总结Graph Neural Networks-A review of methods and Applications
  10. laravel上传文件到s3,打开链接无法下载而是直接在浏览器中显示内容
  11. 【异常处理】devcpp编译时 “源文件未编译”
  12. 计算机网络——模拟信号(四)
  13. info There appears to be trouble with your network connection. Retrying...
  14. Feedback(反馈)详述一
  15. android查询火车票接口,火车票查询信息接口
  16. 网易云课堂python怎样_有木有人上过网易云课堂的 Python Web 微专业,怎么样?
  17. Linux 基础入门
  18. d3.js 刷新折线图(包括坐标轴及路径的刷新及信息点提示)
  19. Redis集群原理与容器化部署集群
  20. Matlab安装硬件支持包

热门文章

  1. 信息系统项目文档及其管理
  2. python中对切片的理解
  3. ShardingSphere 系列
  4. c语言什么是内联函数,C语言中内联函数inline的使用方法
  5. php认识正则吗,php正则表达式有什么用
  6. 神策数据埋点大升级,一站式埋点,360° 满足你的不同场景需求
  7. 容器的使用(6-12)
  8. 原型设计真的对用户体验那么重要吗?
  9. Linux下使用Vi是方向键变乱码 退格键不能使用的解决方法
  10. Windows系统帮助中心程序的0day漏洞