写在前面

本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

本专栏目录结构和文献引用请见1000个问题搞定大数据技术体系

解答

HDFS的设计目标在 Hadoop 官网 有详细说明:

1.Hardware Failure
2.Streaming Data Access
3.Large Data Sets
4.Simple Coherency Model
5.“Moving Computation is Cheaper than Moving Data”
6.Portability Across Heterogeneous Hardware and Software Platforms

补充

Hardware Failure(硬件故障)

硬件故障是常态,而不是例外。

HDFS实例可能由数百台或数千台服务器机组成,每台服务器机存储文件系统的部分数据。

组件数量巨大,且每个组件都有非平凡的故障概率,这意味着HDFS的某些组件总是无法使用。

因此,检测故障并快速自动恢复故障是HDFS的核心架构目标

Streaming Data Access(流数据访问)

在HDFS上运行的应用程序需要对其数据集进行流式访问。

它们不是通常在通用文件系统上运行的通用应用程序。

HDFS更多是为批量处理而设计的,而不是用户交互使用。

重点是高数据访问量,而不是低数据访问的延迟。

POSIX的很多硬件需求对于HDFS分布式文件系统来说都是非必须的,这样能够获得更好的吞吐量。

POSIX表示可移植操作系统接口(Portable Operating System Interface of UNIX, POSIX)。 POSIX标准定义了操作系统为应用程序提供的接口标准。

Large Data Sets(海量数据集)

在HDFS上运行的应用程序具有较大的数据集。

HDFS中的典型文件是千兆字节到百万兆字节的大小。

因此,HDFS被调优以支持大文件。

它应该为单个集群中的数百个节点提供高聚合数据带宽和规模。

它应该支持单个实例中的数千万个文件。

Simple Coherency Model(简单一致性模型)

HDFS应用程序需要一个文件的一次写入多次读取访问模型。

文件一旦创建、写入和关闭,除了附加和截断外,无需更改。支持将内容附加到文件末尾,但不能任意点更新。

这一假设简化了数据一致性问题,并允许高吞吐量数据访问。MapReduce应用程序或网络爬虫应用程序非常适合此模型。

“Moving Computation is Cheaper than Moving Data”(“移动计算比移动数据更划算”)

如果应用程序请求的计算在它操作的数据附近执行,则效率要高得多。

当数据集的大小很大时,尤其如此。这最大限度地减少了网络拥塞,并提高了系统的整体吞吐量。

假设是,通常最好将计算迁移到更靠近数据的位置,而不是将数据转移到应用程序运行的位置。

HDFS为应用程序提供接口,使它们更接近数据的位置。

详情可以参考我的这篇博客——为什么说数据不动代码动?移动计算比移动数据更划算?

Portability Across Heterogeneous Hardware and Software Platforms(跨异构硬件和软件平台的便携性)

HDFS被设计成易于从一个平台移植到另一个平台。这有助于广泛采用HDFS作为大量应用程序的首选平台。

HDFS的设计目标是什么?相关推荐

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

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

  2. Hadoop之HDFS概述

    Hadoop之HDFS概述 目录 HDFS产生背景 HDFS概念 HDFS优缺点 HDFS组成架构 1. HDFS产生背景 随着数据量越来越大,在一个操作系统管辖的范围内存不下了,那么就分配到更多的操 ...

  3. HDFS无法对大量小文件进行存储

    (1)存储大量小文件的话,它会占用NameNode大量的内存来存储文件.目录和块信息.这样是不可取的,因为NameNode的内存总是有限的: (2)小文件存储的寻址时间会超过读取时间,它违反了HDFS ...

  4. 分布式文件系统HDFS解析

    分布式文件系统HDFS解析 设计目标 Namenode 和 Datanode HDFS HA HDFS Federation 读写流程 Replication 元数据 副本均衡 元数据磁盘错误 快照 ...

  5. 初步掌握HDFS的架构及原理

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

  6. HDFS 入门和基本操作

    1.HDFS 是做什么的 Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS,hdfs是分布式计算中数据存储管理的基础,是基于流数据模式 ...

  7. Hadoop大数据原理(2) - 分布式文件系统HDFS

    文章目录 1. 数据存储问题 2. RAID技术的原理和思路 2.1 常用RAID的原理介绍 2.2 RAID间的性能比较 3. 大数据时代的分布式文件系统 3.1 HDFS的稳固地位 3.2 HDF ...

  8. hadoop生态圈面试精华之HDFS部分

    hadoop生态圈面试精华之HDFS部分 HDFS文件写入和读取流程 也可回答:1)读写原理(流程):2)上传下载流程:3)Hadoop中文件put和get的详细过程:4)讲讲 (介绍下)HDFS:5 ...

  9. 大数据Hadoop3.1.3 HDFS 详细入门笔记

    网页右边,向下滑有目录索引,可以根据标题跳转到你想看的内容 如果右边没有就找找左边 主文章链接https://blog.csdn.net/grd_java/article/details/115639 ...

  10. 【大数据】Hadoop (二) HDFS

    课程链接: 尚硅谷大数据Hadoop 3.x(入门搭建+安装调优)_哔哩哔哩_bilibili (Hadoop到底是干什么用的? - 知乎 (zhihu.com) 资料 Hadoop中文文档 (apa ...

最新文章

  1. 深入剖析HADOOP程序日志
  2. 事件响应的优先级、stopProgapation禁止下层组件响应
  3. ubuntu+终端不能启动mysql数据库_强制重启Ubuntu服务器后Mysql无法启动
  4. iOS 使用Touch ID 校验[新增 iOS9 三种错误]
  5. K8S集群安装KubeSphere失败记录
  6. core微型计算机,UPC-CHT01 | 专业创客微型计算机板_UP Core - AAEON
  7. 如何解决Mac无法写入U盘的问题
  8. ubuntu workbench
  9. 第十一届蓝桥杯校园赛---原题+解析+答案
  10. 分享灵动微MM32F3270微控制器的音频类产品参考方案
  11. 1.1.15. Passive Aggressive Algorithms(被动攻击算法)
  12. python 3.6 键盘打字练习 (简单)
  13. codevs 5294 挖地雷
  14. Error from chokidar (C:\): Error: EBUSY: resource busy or locked, lstat ‘C:\hiberfil.sys‘的解决方案
  15. 编译原理 自下而上分析题型
  16. spring-AOP-苍老师
  17. 什么是BGP,一般机房的BGP是什么意思?
  18. FM ALV和OO ALV的区别
  19. UL-1973-2022 储能电池安全标准
  20. 了解一下国标和行标的代号

热门文章

  1. mysql语法 join on 表示什么
  2. 三亿顶级流量社区,下厨房APP变现三部曲
  3. python symbols函数_Python的武器库07:sympy模块
  4. 笔记本未指定打印机服务器,打印机未指定怎么办_win10打印机未指定设备的解决方法...
  5. 5.2为每种类型的模块内聚举一个例子
  6. html 年龄选择框,js和html:周岁年龄计算器
  7. 直播平台多人连麦技术介绍
  8. python selenium爬虫 不打开网页 不打开浏览器
  9. jena 查询 java_Java调用Jena写SPARQL查询
  10. 2019 年第 29 周 DApp 影响力排行榜 | TokenInsight