HDFS存储介绍

Posted xzlnuli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDFS存储介绍相关的知识,希望对你有一定的参考价值。

1:datanode 数据节点-存放数据的

2:namenode  名字节点-主要是存放元数据的,比如:文件大小  名称 存放位置 等

3:secondarynamenode 是存放fimage信息的,具体解释如下:

namenode

      fimage      editlog

namenode 中每次有信息变化的时候,都会放到editlog 中,然后由editlog同步到fimage中,当服务挂了,重启直接可以从fimage中去拿。

secorndarynamenode 是定时去fimage中拿数据的,防止namenode挂了,给服务器带来的不可回滚

Hadoop介绍HDFS

HDFS定义

  HDFS 全称 hadoop distribute file system 分布式文件存储系统;

  被设计为可以在廉价的机器上存储大批量的数据,也是Hadoop及大数据生态中最重要一部分,因为所有对数据的计算及分析都要依赖数据的存储;

  HDFS(Hadoop)是将很多台机器联合起来,形成集群进行存储数据和计算的系统;

HDFS的设计思想

  分而治之,冗余备份是HDFS设计的核心思想。

  HDFS将大文件切分为小文件成为block块,对整个文件实现了分而治之的管理;
  HDFS对每个切分的小文件的block进行复制备份,以冗余备份实现HDFS的高容错性;

HDFS的优缺点

优点:
  1、在廉价的服务器上部署
  2、高容错性
  3、适合大文件批处理
  4、适合大量数据计算
  5、适合一次写入,多次读取

缺点:
  1、不适合低延时数据访问
  2、不适合并发写入
  3、不支持文件修改
  4、不适合存储与读写小文件

HDFS组成与架构

  HDFS 使用主从架构(master/slave)主要由 NameNode / DataNode 组成;

1、NameNode
  NameNode 在集群的主服务器(master)中,通常只有一个NameNode正在被使用;
  Namenode 用于管理文件系统的命名空间及控制 client 对文件的访问。
2、DataNode
  DataNode 通常在集群的每一个节点(slave)中都有一个;
  DataNode 用于处理 client 的读写请求,并根据NameNode 的指令进行块(block)的创建、删除和复制。
3、Secondary NameNode
  Secondary NameNode 是为了分担 NameNode 的工作量而存在,当集群庞大 DataNode 数量及其中存储的 block 的数量过多时,Secondary NameNode 可以帮助 NameNode 分摊压力。
  例如定期的合并 Fsimage 和 Edits 并返回给 NameNode;
4、Client
  Client 是客户端,主要是 HDFS 为程序员提供的操作节点;
  Client 与 NameNode 交互,以获取文件的位置信息;
  Client 与 DataNode 交互,以进行文件的读写;
  Client 对大文件进行切分,以方便进行上传文件;
  Client 提供一些命令来管理和访问HDFS;

HDFS 扩展知识点

  虽然 HDFS 是将整个大文件切分成 block 并冗余备份 block 来存储文件的,但是 HDFS 提供给使用者感观上一个完整的文件系统。

可以使用 Hadoop shell 、java API、hadoop 提供的 web 界面,来创建、删除、编辑权限等等文件操作。

NameNode 管理的命名空间,及 DataNode 存储的副本:

以上是关于HDFS存储介绍的主要内容,如果未能解决你的问题,请参考以下文章

Hadoop介绍HDFS

HDFS介绍

Hadoop小文件存储方案

hdfs --daemon start datanode指令介绍

[hadoop3.x]HDFS存储类型和存储策略概述

[hadoop3.x]HDFS存储类型和存储策略概述