Hadoop Distributed File System:分布式文件系统。 HDFS基于流数据模式访问和处理超大文件需求开发,具有高容错性,高可靠性,高可扩展性,多部署在低成本的硬件上。HDFS提供对应用程序数据的高吞吐量访问,便利了海量数据的处理

介绍

  • 假设和目标
    • 硬件故障:检测故障并从中快速恢复
    • 流式数据访问
      • HDFS设计用于批处理而非用户的交互使用
      • 重点是数据访问的高吞吐量而非低延迟
    • 大数据集
      • HDFS上运行的应用程序具有大型数据集,支持大文件
      • 应为单个集群中的数百个结点提供高聚合数据带宽和扩展
      • 应在单个实例中支持数万个文件
    • 一致性模型
      • write-one-read-many
      • 除了追加和截断之外,无需更改创建,写入和关闭的文件
      • 支持将内容附加到文件末尾,但是无法在任意点更新
      • MapReduce应用程序和Web爬虫程序完全适用于此模型
    • 移动计算而非移动数据
      • 好的做法是将计算迁移到更靠近数据所在的位置(HDFS提供接口)
      • 应用程序在其操作的数据附近执行,效率更高
      • 最大限度减小网络拥塞和提高系统吞吐量
    • 跨异构硬件和软件平台的可移植性

大专栏  BeWhatevererlink" title="HDFS 架构 – 主从架构(master/slave)">HDFS 架构 – 主从架构(master/slave)

  • 架构图
  • Client
    • 文件切分。文件上传HDFS的时候,Client将文件切分成一个一个的Block进行存储
    • 与 NameNode 交互,获取文件的位置信息
    • 与 DataNode 交互,读取或者写入数据
    • Client 提供命令来管理 HDFS,启动或者关闭HDFS
    • Client 可以通过一些命令来访问HDFS
  • NameNode(master)
    • 管理系统命名空间
    • 管理客户端对文件的访问(读写请求)
    • 管理数据块映射信息
    • 配置副本策略
  • DataNode(slave)
    • 确定块 – DataNode的映射
    • 提供来自Client的读写请求
    • 块创建/删除
  • Secondary NameNode
    • 当NameNode挂掉的时候,并不能马上替换 NameNode 提供服务
    • 辅助 NameNode,分担其工作量
    • 定期合并 fsimage和fsedits,并推送给NameNode
    • 在紧急情况下,可辅助恢复 NameNode

参考资料

BeWhatever的更多相关文章

随机推荐

  1. Codeforces Round #624 (Div. 3)(题解)

    A. Add Odd or Subtract Even 思路: 相同直接为0,如果两数相差为偶数就为2,奇数就为1 #include<iostream> #include<algor ...

  2. Linux笔记(三)——Shell编程

    预备知识 1.Shell是解释执行的脚本语言,可以直接调用Linux系统命令 2.文件以.sh结尾, #!bin/bash 标识, 说明这是一个shell脚本, 不能省略 3.执行 赋予权限,直接运行 ...

  3. iOS开发-消息初认识

    一.消息循环(runLoop)的作用 1,防止程序退出, 2,接受事件 3,如果没有事件,让程序自动休眠   二.消息源    1, 输入源:键盘.鼠标.NSBoard.NSPort    2,定时源 ...

  4. mybatis使用Map<String,Object>映射mysql结果集,关于字段的问题

    --mysql常用字段类型如图 --mybatis使用Map<String,Object>映射,会将tinyint映射成Integer类型.decimal映射成BigDecimal类型 所 ...

  5. c++ string 的注意事项

    string 的reserve 和 resize 区别 reserve 与capacity相关,如果reserve一个比当前capacity大的 reserve 只会找到一块合适大小的内存,并将原始内 ...

  6. soap,restful 两种web service实现方式比较

    web service服务 目前常用的实现web service的方式有有两种 1.SOAP 原始的web service标准,一堆标准,不过这些标准是在开发框架中实现的,有上层接口,可以调用 2.R ...

  7. python中的变量引用小结

    python的变量都可以看成是内存中某个对象的引用.(变量指向该内存地址存储的值) 1.python中的可更改对象和不可更改对象 python中的对象可以分为可更改(mutable)对象与不可更改(i ...

  8. 2019-ECfinal-M题-value

    题目传送门 sol:每个下标都有选和不选两种情况,所以总方案数是$2^{n}$,在$n$最大是$100000$的情况下不符合要求.可以这样想,假设$i^{p}=k$有符合题目要求的解,还有一个整数$j ...

  9. python,pandas, DataFrame数据获取方式

    一.创建DataFrame df=pd.DataFrame(np.arange(,).reshape(,)) my_col=dict(zip(range(),['A','B','C'])) df.re ...

  10. G - Green-Red Tree Gym - 102190G

    题目链接:http://codeforces.com/gym/102190/attachments 题解:我们先将前5个点分别涂上红色或者绿色,使得这两棵树在5个点中都是连通,并不存在自环(建边方式不 ...