zoukankan      html  css  js  c++  java
  • HDFS的运行原理

    简介

    HDFS(Hadoop Distributed File System )Hadoop分布式文件系统。是根据google发表的论文翻版的。论文为GFS(Google File System)Google 文件系统(中文英文)。

    HDFS特点:

    1、保存多个副本,且提供容错机制,副本丢失或宕机自动恢复。默认备份3份。

    2、可以支持运行在廉价的机器上。

    3、适合大数据的处理。HDFS将文件分成block(块),默认一个block为64M,将分块后的数据以键值对的方式存储到HDFS上,并将键值对映射到内存中。

    如上图所示,HDFS也是按照Master和Slave的结构。分NameNode、SecondaryNameNode、DataNode这几个角色。

    NameNode:是Master节点,是管理者。管理数据块映射;处理客户端的读写请求;配置副本策略;管理HDFS的名称空间。

    block保存在那些DataNode节点上(这部分数据并非保存在NameNode磁盘上,它是在DataNode启动时上报给NameNode的,NameNode接收到之后将这些信息保存在内存中)。

    Block的位置信息不回保存在fsimage中。

    Edits文件记录了客户端操作fsimage的日志,对文件的增删改等。

    SecondaryNameNode:分担namenode的工作量;是NameNode的冷备份;合并fsimage和fsedits然后再发给namenode。

    合并fsimage和fsedits文件,然后发送并替换NameNode的fsimage文件,同时自己留下一个副本,

    这个副本可以在NameNode宕机或者坏死后进行部分文件恢复。

    1、可以通过配置fs.checkpoint.period修改合并间隔时间,默认1小时。

    2、也可以配置edits日志文件的大小,fs.checkpoint.size规定edits文件的最大值,来让SecondaryNameNode来知道什么时候该进行合并操作,默认大小是64M。

    合并过程如下:

    DataNode:Slave节点,奴隶,干活的。负责存储client发来的数据块block;执行数据块的读写操作。

    热备份:b是a的热备份,如果a坏掉。那么b马上运行代替a的工作。

    冷备份:b是a的冷备份,如果a坏掉。那么b不能马上代替a工作。但是b上存储a的一些信息,减少a坏掉之后的损失。

    fsimage:元数据镜像文件(文件系统的目录树。)

    edits:元数据的操作日志(针对文件系统做的修改操作记录)

    namenode内存中存储的是=fsimage+edits。

    SecondaryNameNode负责定时默认1小时,从namenode上,获取fsimage和edits来进行合并,然后再发送给namenode。减少namenode的工作量。

    HDFS优缺点:

    ®优点:

    1、高容错性

    数据自动保存多个副本

    副本丢失后,自动恢复

    2、适合批处理

    移动的计算和操作

    数据位置暴露给计算框架

    3、适合大数据处理

    GB、TB、PB甚至更大

    百万规模以上的文件数量

    10K+节点

    4、可以构架在廉价的机器上

    通过副本提高可靠性

    提供了容错和恢复机制

    ®缺点:

    1、低延迟数据访问

    2、小文件存取耗资源(占用NameNode内存空间)

    3、并发写入(一个文件只能有一个写入者)、文件不能随机修改(只支持append)

  • 相关阅读:
    html 上传图片前预览
    php获取当月天数及当月第一天及最后一天、上月第一天及最后一天实现方法
    php 计算 pdf文件页数
    php 获取半年内每个月的订单数量, 总价, 月份
    php 获取两个数组之间不同的值
    小程序支付功能
    关于nginx的Job for nginx.service failed because the control process exited with error code.错误
    linux 安装 Apollo
    MongoDB待续。。。
    ABP vNext...待续
  • 原文地址:https://www.cnblogs.com/IceandsnowLove/p/IceandsnowLove.html
Copyright © 2011-2022 走看看