zoukankan      html  css  js  c++  java
  • hadoop 基础

    一、HDFS 的优缺点

    hdfs 的优点:
    可以处理超大文件
    流式地访问数据
    运行于廉价的机器上

    缺点:
    不适合实时性要求较高的场景
    无法高效存储小文件(HDFS 所能容纳的文件数目是由NameNode 的内存大小来决定的。而HDFS 中的元数据(文件和目录的属性信息)都存放在NameNode中)

    二、HDFS 基本概念
    1.数据块(Block):hdfs最基本的存储单位是数据块,每个数据块的大小默认是64M.如果一个文件小于数据块的大小,这个文件并不会占用整个数据块,而是有多大就占用多大的空间。


    2、元数据节点(NameNode):NameNode的职责是管理文件系统的命名空间,它将所有的文件和目录的元数据都存放在一个文件系统树中。比如一个文件包含哪些数据块,这些块都存放在哪些数据节点上。
    (edits目录:当文件系统客户端进行写操作时,首先记录在修改日志中,元数据节点在内存中保存了文件系统的元数据信息,在记录了修改日志之后,NameNode 将会更改内存中的数据结构,每次在写操作之前,修改日志都会同步到文件系统)


    3、数据节点(DataNode): 真正存储数据的地方。一个文件被拆分成多个block后,会将block 存放在对应的数据节点上。客户端向NameNode发起请求,然后将对应的数据节点上写入或者读出对应的block。

    4、从数据节点(Secondary NameNode):周期性地将NameNode 的namespace image 和 edit log 合并,以防日志文件过大。合并后的namespace image 也在元数据节点中保存了一份,以防NameNode 失效的时候便于恢复。
    (Secondary NameNode 还用来帮助NameNode将内存中的元数据信息 checkpoint 到硬盘上 )

    三、HDFS 架构:
    hdfs 采用的是mater/slave 架构,一个 HDFS 集群由一个NameNode 和一定数量的DataNode 组成。NameNode 是一个中心服务器,负责管理文件系统的namespace 以及客户端对文件的访问,HDFS 暴露了文件系统的名字空间,用户能以文件的形式在上面存储数据。整体上来看,一个文件被分成一个或者多个数据块,这些块存储在一组DataNode上。NameNode 执行文件的namespace 操作,如打开,关闭,重命名目录,同时,它也负责数据块到具体DataNode 的映射。DataNode 负责处理客户端的读写请求,NameNode的统一调度下处理文件的创建、复制和删除。HDFS架构图如下:

  • 相关阅读:
    SQL事务
    C# 怎样读写EXCEL文件
    如何#读写EXCEL 文件 (http://space.cnblogs.com/question/7131/)
    C# 怎样读写EXCEL文件 (http://space.cnblogs.com/question/7131/)
    控制DataGirdView中單元格
    C#中ToString格式大全
    转贴:用SqlCommandBuilder 实现批量更新
    错题记录1
    Java—关于String的分析
    Java模拟双色球彩票
  • 原文地址:https://www.cnblogs.com/wbringarden/p/10215736.html
Copyright © 2011-2022 走看看