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. java内存区域与内存溢出异常(2)

    3.本地方法栈 本地方法栈与虚拟机栈作用相同,不同的是虚拟机栈为java方法服务,本地方法栈为native方法服务,本地方法栈会抛出StackOverFlowError和OutOfMemoryErro ...

  2. HDU - 4578 线段树+三重操作

    这道题自己写了很久,还是没写出来,也看了很多题解,感觉多数还是看的迷迷糊糊,最后面看到一篇大佬的才感觉恍然大悟. 先上一篇大佬的题解:https://blog.csdn.net/aqa20372995 ...

  3. 在Eclipse下远程调试Beagleboneblack

    安装调试器 1. gdbserver 2. gdb-multiarch 建立工程 新建一个cpp工程,ToolChains选择Cross GCC 这里使用的是arm-linux-gnueabihf-的 ...

  4. split - 拆分文件

    拆分文件 # 每个文件的行数为1000行 split -l 1000 test.txt # 将test文件拆分,20M一个文件 split -b 20M test.txt test文件拆分,并且文件名 ...

  5. jenkins推送docker镜像到远程仓库

    参考链接:https://blog.csdn.net/qq_34252622/article/details/92791262

  6. Educational Codeforces Round 66 差G

    Educational Codeforces Round 66 F 题意:长度为 n 的序列,求有多少个区间 \([l,r]\) ,使得其构成了一个 1~r-l+1 的排列. \(n \le 3*10 ...

  7. AtCoder Grand Contest 033

    为什么ABC那么多?建议Atcoder多出些ARC/AGC,好不容易才轮到AGC…… A 签到.就是以黑点为源点做多元最短路,由于边长是1直接bfs就好了,求最长路径. #include<bit ...

  8. NLP-文本分类之开始(0)

    转眼读研一年了,开题也开了,方向也定了,大方向就是NLP,然而从一开始的上课.做项目开题什么的(自己也比较贪玩,以前不打游戏,结果王者上瘾了),到现在对NLP是一知半解,不对,半解都没有半解,然后时间 ...

  9. PyTorch基础——预测共享单车的使用量

    预处理实验数据 读取数据 下载数据 网盘链接:https://pan.baidu.com/s/1n_FtZjAswWR9rfuI6GtDhA 提取码:y4fb #导入需要使用的库 import num ...

  10. Linux基础篇五:文件操作篇(三剑客)

    cut截取字段: -d  指定分割符 -f   指定第几列 例题1: echo "i am dusonglin ,my qq is  380343680 " >dusongl ...