1. HDFS的设计目标
    1. 检测以及快速恢复硬件问题.
    2. 流式的数据访问.
    3. 移动计算比移动数据的代价小.
    4. 简化一致性模型.
    5. 超大规模数据集
    6. 异构软硬件平台之间的可移植性.
  2. HDFS的结构模型
    HDFS是一个主从的结构模型.一个HDFS集群是由一个NameNode和若干个DataNode组成.NameNode主节点是主服务器.管理文件系统的命名空间和和客户端对文件的访问操作.DataNode是集群中的一般节点.负责数据的存储.客户端通过NameNode
    向DataNode节点交换访问文件系统.联系NameNode获取文件元数.文件I/O操作直接和NameCode进行交互.从数据的内部看文件被分为若干个数据块.典型数据块的大小为 64MB. 假设如果客户端要访问一个文件。首先,客户端从NameNode中获得
    组成文件的数据块位置的列表,即知道数据块存储在哪些DateNode 中;然后客户端直接从DataNode上读取文件数据.NameNode不参与文件传输.NameNode 是HDFS的守护程序。主要负责大数据文件如何被分割成数据块。被分割后的数据块分别为存储在哪些DataNode的数据节点上.
    NameNode负责维护文件系统的命名空间.任何对文件系统的名称空间或属性的修改都将被NameNode记录下来.
  3. 数据的复制与存放
    HDFS是在大集群中跨机器可靠地存储超大文件. 他将每一个文件存储成一系列的数据块.
     (1)数据的复制
    1.   文件的所有的数据块都有副本,这样可以提高数据的容错性.应用程序可以指定某个文件的副本数量.HDFS中的文件都是一次性写入。并且在任何时候只有一个写入者.NameNode管理数据的复制,采用周期性的从集群中的每一个DataNode中接受心跳信号可块状报告。如果接受到心跳报告说明DataNde正常.
    2. 副本的存放是NDFS可靠性和性能的关键

      

HDFS体系结构的更多相关文章

  1. [HDFS Manual] CH1 HDFS体系结构

    v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...

  2. HDFS体系结构(NameNode、DataNode详解)

    hadoop项目地址:http://hadoop.apache.org/ NameNode.DataNode详解 (一)分布式文件系统概述 数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配 ...

  3. 第四次作业 描述HDFS体系结构、工作原理与流程

    1.用自己的图,描述HDFS体系结构.工作原理与流程. 读数据的流程 2.伪分布式安装Hadoop.

  4. HDFS体系结构:(Distributed File System)

    分布式系统的大概图 服务器越来越多,客户端对服务器的管理就会越来越复杂,客户端如果是我们用户,就要去记住大量的ip. 对用户而言访问透明的就是分布式文件系统. 分布式文件系统最大的特点:数据存储在多台 ...

  5. hadoop学习笔记(三):hdfs体系结构和读写流程(转)

    原文:https://www.cnblogs.com/codeOfLife/p/5375120.html 目录 HDFS 是做什么的 HDFS 从何而来 为什么选择 HDFS 存储数据 HDFS 如何 ...

  6. 1)HDFS分布式文件系统 2)HDFS核心设计 3 )HDFS体系结构

    一.HDFS简介 1.HDFS:Hadoop distributed file system 一个分布式文件系统 基于流数据模式访问和处理超大文件的需要而开发 适合应用在大规模数据集上 2. 优点 处 ...

  7. Hadoop读书笔记(四)HDFS体系结构

    Hadoop读书笔记(一)Hadoop介绍:http://blog.csdn.net/caicongyang/article/details/39898629 Hadoop读书笔记(二)HDFS的sh ...

  8. HDFS体系结构概述

  9. Hadoop安装 与 HDFS体系结构

随机推荐

  1. Android:实现数组之间的复制

    System提供了一个静态方法arraycopy(),我们可以使用它来实现数组之间的复制 System.arraycopy(src, srcPos, dst, dstPos, length); src ...

  2. C++:用成员初始化列表对数据成员初始化

    1.在声明类时,对数据成员的初始化工作一般在构造函数中用赋值语句进行. 例如: class Complex{ private: double real; double imag; public: Co ...

  3. renameTo()方法的用法

    使用renameTo()方法,可以将文件data.txt从C:\JavaApp\IOTest1\目录移动到C:\目录,并改名为newdata.txt import java.io.File; //将文 ...

  4. arcgis engine 开发教程系列

    版权声明:        <ArcGIS Engine+C#实例开发教程>为3SDN(http://www.3sdn.net)原创教程,版权所有.禁止商业用途转载(如需请联系作者),非商业 ...

  5. VS2005控制台程序修改nb0文件

    VS2005控制台程序修改nb0文件 我们要实现的功能就是通过CMD传递进来的值来在nb0文件末尾增加版本信息,新建控制台程序,自动生成的main函数如下,默认的代码非常简单: int _tmain( ...

  6. vi 编辑内容中查找字符位置

    [root@localhost gdm]# vi /etc/X11/gdm/gdm.conf # You can also use the gdm-restart and gdm-safe-resta ...

  7. LA 3641 (置换 循环的分解) Leonardo's Notebook

    给出一个26个大写字母的置换B,是否存在A2 = B 每个置换可以看做若干个循环的乘积.我们可以把这些循环看成中UVa 10294的项链, 循环中的数就相当于项链中的珠子. A2就相当于将项链旋转了两 ...

  8. Java [Leetcode 204]Count Primes

    题目描述: Description: Count the number of prime numbers less than a non-negative number, n. 解题思路: Let's ...

  9. 也谈http中get和post

    1.get和post区别: 从设计初衷考虑get是为了查询服务器资源(不改变服务器数据及状态,因此说它是安全和幂等的,但get请求参数一般是直接在url后面,浏览器地址栏中会被看到能保存书签及历史记录 ...

  10. 获取某月第一天,最后一天的sql server脚本 【转】http://blog.csdn.net/chaoowang/article/details/9167969

    这是计算一个月第一天的SQL 脚本:    SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) --当月的第一天 SELECT DATEADD(mm, DA ...