大数据基础之HDFS入门

雅泽1年前技术文章442



一、NameNode

  • 是整个文件系统的管理节点。它维护着整个文件系统的文件目录树,文件/目录的元信息和每个文件对应的数据块列表。

二、NameNode的工作特点

  • Namenode始终在内存中保存metedata,用于处理“读请求”

  • 到有“写请求”到来时,namenode会首先写editlog到磁盘,即向edits文件中写日志,成功返回后,才会修改内存,并且向客户端返回

  • Hadoop会维护一个fsimage文件,也就是namenode中metedata的镜像,但是fsimage不会随时与namenode内存中的metedata保持一致,而是每隔一段时间通过合并edits文件来更新内容。Secondary namenode就是用来合并fsimage和edits文件来更新NameNode的metedata的。

三、SecondaryNameNode

  • HA的一个解决方案。但不支持热备。配置即可。

    • HA (双机集群(HA)系统简称):HA 是High Available缩写,是双机集群系统简称,指高可用性集群,是保证业务连续性的有效解决方案,一般有两个或两个以上的节点,且分为活动节点及备用节点。

  • 执行过程:从NameNode上下载元数据信息(fsimage,edits),然后把二者合并,生成新的fsimage,在本地保存,并将其推送到NameNode,替换旧的fsimage.

  • 默认在安装在NameNode节点上,但这样...不安全!

四、secondary namenode的工作流程

  • 1、secondary通知namenode切换edits文件

  • 2、secondary从namenode获得fsimage和edits(通过http)

  • 3、secondary将fsimage载入内存,然后开始合并edits

  • 4、secondary将新的fsimage发回给namenode

  • 5、namenode用新的fsimage替换旧的fsimage

五、什么时候checkpiont

  • fs.checkpoint.period:指定两次checkpoint的最大时间间隔,默认3600秒。

  • fs.checkpoint.size:规定edits文件的最大值,一旦超过这个值则强制checkpoint,不管是否到达最大时间间隔。默认大小是64M。

六、Datanode

  • 提供真实文件数据的存储服务。

  • 文件块(block):最基本的存储单位。对于文件内容而言,一个文件的长度大小是size,那么从文件的0偏移开始,按照固定的大小,顺序对文件进行划分并编号,划分好的每一个块称一个Block。HDFS默认Block大小是128MB,以一个256MB文件,共有256/128=2个Block.

  • 不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间

  • Replication。多复本。默认是三个


相关文章

MapReduce工作机制解析

MapReduce工作机制解析

一、MapTask工作机制主要可以分为Read阶段,Map阶段,Collect阶段,Spill阶段(1)Read阶段:MapTask通过InputFormat获得的RecordReader,从输入In...

触发kube-apiserver流控导致ACK集群中节点状态异常

触发kube-apiserver流控导致ACK集群中节点状态异常

问题现象ack集群中一个节点状态为notready,但是排查节点上的核心组件:kubelet、kube-proxy、flannel、etcd等状态均为正常。排查步骤1、查日志分别排查核心组件以及系统日...

kafka文件存储机制

kafka文件存储机制

Topic 数据的存储机制       Topic是逻辑上的概念,而partition是物理上的概念,每个partition对应于一个log文件,该log文件中存储的就是Producer生产的数据。P...

 企业级大数据安全架构(七)

企业级大数据安全架构(七)

在企业级大数据安全方案中,本节主要介绍服务安全问题,引入kerberos认证机制,目前直接对接kerberos使用较多,这里我们使用FreeIPA来集成kerberosFreeIPA官网下载地址:ht...

Linux命令traceroute—追踪网络路由利器

说明:通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能...

arm环境安装达梦数据库

arm环境安装达梦数据库

一、安装前准备1、创建用户和用户组groupadd dinstall useradd -g dinstall -m -d /home/dm...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。