HDFS(五):NN和2NN

HDFS(五):NN和2NN,第1张

内存一份数据,fsImage存储数据(合并后的数据,即没有追加前数据),edits文件只追加,不参与计算

内存数据 == fsImage+edits

服务器启动:将(fsImage+edits)数据加载到内存

服务器关闭:将 fsImage+edits合并

2nn将fsimage和edits文件定期合并

NameNode 被格式化后,将槐码在/opt/module/hadoop-3.1.3/data/tmp/dfs/name/current目录中产生如下文件

2NN 在/opt/module/hadoop-3.1.3/data/tmp/dfs/namesecondary/current

NameNode相比较2nn多了edits_inprogress

NameNode被格式化之后,将在/opt/module/hadoop-3.1.3/data/tmp/dfs/name/current目录产生如下文件

1)fsimage文件:HDFS文件系统元数念纳据的一个永久性检查点,其中包含HDFS文件系统的所有目录和inode的序列化信息

2)Edits文件:存放HDFS文件系统的所有更新 *** 作的路径,文件系统客户端执行的所有写 *** 作首先会被记录到edits文件中

3)seen_txid:文件保存的是一个数字,就是最后一个edits_数字

4)VERSION,当前nameNode的命名空铅高哪间,和集群id

(1)基本语法

hdfs oiv -p 文件类型 -i镜像文件 -o 转换后文件输出路径

(2)实 ***

NameNode没有记录块所对应DataNode,DataNode启动后向NameNode汇报自己有哪些文件块

(1)基本语法

hdfs oev -p 文件类型 -i 编辑日志 -o 转换后文件输出路径

(2)实 ***

只进行追加,不进行合并 *** 作。

在服务器启动进入内存,只加载edits后缀大于fsimage后缀。

hdfs-default.xml

1)通常情况下,SecondaryNameNode每隔一个小时执行一次。[hdfs-default.xml]

2)一分钟检查一次 *** 作次数,当 *** 作次数达到1百万次,SecondaryNameNode执行一次。

2nn每隔1分钟,主动查询一次。

通过本节可以知道两个文件fsimage和edits文件作用,通过这两个文件就是NameNode存储的元数据。

1、简单介绍下hadoop吧?

    广义上hadoop是指与hadoop相关的大数据生态圈。包含hive、spark、hbase等。

    狭义上hadoop指的是apache的开源框架。有三个手悉核心组件:

----hdfs:分布式文件存储系统

----yarn:分布式资源管理调度平台

----mr:分布式计算引擎

2、介绍下hdfs?

全称为Hadoop Distributed File System。有三个核心组件:

namenode:有三个作用,第一是负责保存集群的元数据信息,第二是负责维护整个集群节点的正常运行。

第三是负责处理客户端的请求。

datanode:负责实际保存数据梁纤。实际执行数据块的读写 *** 作。

secondarynamenode:辅助namenode进行元数据的管理。不是namenode的备份。

3、namenode的工作机制?

    namenode在内存中保存着整个内存系统的名称空间和文件数据块的地址映射。整个hdfs可存储的文件数受限于namenode的内存大小。所以hdfs不适合大量小文件的存储。

---namenode有三种元数据存储方式来管理元数据:

    》内存元数据:内存中保存了完整的元数据

    》保存在磁盘上的元数据镜像文件(fsimage):该文件时hdfs存在磁盘中的元数据检查点,里面保存的是最后一次检查点之前的hdfs文件系统中所有目录和文件的序列化信息。

    》数据 *** 作日志文件(edits):用于衔接内存meta data和持久化元数据镜像fsimage之间的 *** 作日志文件。保存了自最后一次检查点之后所有针对hdfs文件系统的 *** 作。如对文件的增删改查。

4、如何查看元数据信息?

    因为edits和fsimage文件是经过序列化的,所以不能直接查看。hadoop2.0以上提供了查看两种文件的工具。

----命令:hdfs oiv 可以将fsimage文件转换成其他格式,如xml和文本文件。-i 表示输入毕渣乎fsimage文件。-o 输出文件路径,-p 指定输出文件

                hdfs oev可以查看edits文件。同理需要指定相关参数。

详情查看: https://www.imooc.com/article/79705

4、datanode的工作机制?

    1)以数据块的形式存储hdfs文件

    2)datanode响应客户端的读写请求

    3)周期性的向namenode汇报心跳信息、数据块信息、缓存数据块信息

5、secondary namenode工作机制?

    当发生checkpoint机制时会触发second namenode进行工作。checkpoint:

    新的edists文件不会立即和fsimage文件合并,是在edits文件大小超过(默认)64m,或者时间超过(默认)1小时,会触发checkpoint *** 作。当checkpoint时,namenode会新建一个edits.new的文件,此时second namenode将文件fsimage文件和edits文件(http get)到本地,然后加载到内存中进行合并,完成的文件名称为fsimage.ckpt。最后 second namenode将该文件(http post)到namenode,然后edits.new和fsimage.ckpt文件转换为fsimage和edits。

6、hdfs的文件副本机制?

    所有的文件都是以块的形式保存到hdfs中。块的大小默认为128m。在hdfs-site文件中进行指定。

    动态副本创建策略:默认副本数是3,可以在上传文件时,显式设定replication。也可以通过指令修改文件的副本数 hadoop fs -setrep -R 1

7、为实现高可用,hdfs采用了哪些策略?

    副本机制、机架感知、心跳机制、安全模式、校验和、回收站、元数据保护、快照机制(具体介绍导航- https://www.jianshu.com/writer#/notebooks/44567747/notes/66453316 )

8、hdfs的存储过程?

    ①client向hdfs发起写请求,通过RPC与namenode建立通讯。namenode检查文件是否存在等信息,返回是否可以存储。

    ②client将文件切割为一个个block块,client申请存储第一块block。namenode返回可以存储这个block块的datanode的地址,假设为ABC。

    ③A到B到C逐级构建pipeline。client向A上传第一个packet,默认为64k。A收到一个packet后会将packet传给B,再传给C。pipeline反方向返回ack信息。最终由第一个节点A将pipelineack发送给client

    ④一个block完成之后,再进行下一个block的存储过程。

9、hdfs的读过程?

10、hdfs的垃圾桶机制?

    hdfs的垃圾桶机制默认是关闭的,需要手动开启。hdfs删除的文件不会立刻就删除,而是在设定的时间后进行删除。

11、hdfs的扩容和缩容

12、

要看看你这两次安装的是不是同一个系统

不是说所有的W7都是一样大小的哦

有的W7释放出来20G还要多呢

有的也就12G左右

所以先看看你这两次安装的是慎正不是同一个W7

在看看你C盘的大小是不是被改动过

安装W7的时候最好是先吧宽闹悔C盘格弯禅式化


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12168433.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存