1 HDFS

1.家庭成员

家庭成员

2.HDFS概述

1.HDFS结构

Paste_Image.png

元数据就是除了文件数据之外的数据,如文件名。实际上,元数据在磁盘中也有备份,只是启动时加载到内存中。

2.HDFS运行机制

Paste_Image.png

3.HDFS优缺点

  • 优点:
Paste_Image.png
  • 缺点:
Paste_Image.png

小文件越多,则元数据越多,与数量有关,与大小无关。
不能修改。

4.HDFS架构

Paste_Image.png

上图中黑色虚线有问题,应该是client操作datanode。
从图中可以看出:

  • 客户端向namenode请求读写服务。
  • 每个datanode中的存储单元称为“块”,见下图。
Paste_Image.png
  • 每个块都在其他datanode中存有副本。
    下图显示了HDFS的设计思想:
Paste_Image.png

解读:一个文件有50G,假设被分成4个block,则每个block都有3个副本,这3个副本一定要存放在不同的节点上。假如有一个节点坏了,导致block1只有2个副本了,那系统会自动复制一份副本添加到比较空闲的节点上。

3.HDFS三种节点解读

1.NameNode(NN)

Paste_Image.png

edits解读:
如果新增或删除一个文件,edits会记录对metadata的操作日志,但不会马上写入fsimage。每隔一段时间,会把edits与fsimage内容进行合并,这件fsimage中才会记录是新增了还是删除了文件。

2.SecondaryNameNode(SNN,面试会问)

1.意义

Paste_Image.png

因为namenode的主要功能是接收客户端的读写服务,而合并edits会占用大量时间,这时SecondaryNameNode就可以协助namenode合并edits log。

2.合并流程

Paste_Image.png

解读:

  • SecondaryNameNode有可能在另外一个节点上,交付工作可能会跨节点。
  • edits交付到SecondaryNameNode之前,会拷贝一份新edits,来继续它的工作。
  • 在SecondaryNameNode中,edits和fsimage进行合并,完成后传回namenode,成为新的fsimage。
  • SecondaryNameNode能做备份就体现在,它存放着namenode的一份合并之前的edits和fsimage的副本。但没有保存edits.new,也就说当namenode坏了,只能通过SecondaryNameNode找回大部分元数据。
  • 所以尽量把这两种namenode放在不同的节点上。

3.datanode(DN)

1.意义

Paste_Image.png

解读:
是namenode主动向datanode发送心跳。

2.Block副本放置策略

Paste_Image.png

解读:

  • 因为不同机架的电源往往不同,一台机架电源断了,机架内所有节点的文件都丢失。
  • 不同机架,保证安全。
    相同机架,保证速度。

4.HDFS读/写流程(面试会问)

1.读流程

Paste_Image.png

解读:

  • client通过DFS的open方法去请求NameNode,得到block的位置信息
  • 再通过FSDataInputStream流去读每个block的副本中的一个,把这些block还原成文件
  • 关闭流

2.写流程

Paste_Image.png

解读:

  • client用DFS的create方法请求NameNode,NameNode再返回给应该分成多少block、放在哪个DataNode上等信息
  • 通过FSDataOutputStream流去把每个block的一个副本写在DataNode里,DataNode再创建线程把block的副本写到其他datanode里(client和datanode有可能很远,但是datanode间很近,这样是为了保证速度),写完的信息返回给namenode
  • 关闭流

5.HDFS文件权限

Paste_Image.png

解读:
不需要密码认证,不会检查你的身份是不是本人。

6.HDFS安全模式

启动HDFS时,首次进入的模式就是安全模式。尽量不要退出安全模式,会导致数据的丢失。

Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 自行整理, 学习用途, 侵知删歉 1.HDFS 新加入的文件被分成block, 64M默认; 默认每一个block...
    丸蛋蟹阅读 491评论 0 0
  • 认识HDFS HDFS的特点: 高容错性高吞吐量故障的检测和自动快速恢复流式的数据访问大数据集一次写入,多次读写 ...
    Bloo_m阅读 3,285评论 6 8
  • 思考问题 HDFS的架构 设计前提和目标 专为存储超大文件而设计:hdfs应该能够支持GB级别大小的文件;它应该能...
    Sakura_P阅读 651评论 0 2
  • 我叫零,我已经初三了,刚开学我就要调到另一个学校了,我不知道我妈怎么想的,快毕业了 ,还要转学。 我“哦,这里真不...
    零缘阅读 178评论 0 0
  • 01 你有没有喜欢,或者真正地爱过一个人? 原来喜欢和爱,终是有区别的。写文章的我,经常会捕捉到一些微妙的感情,只...
    跟我看世界阅读 731评论 0 2