【Hadoop】HDFS简介——是什么/优缺点/适用场景

news/2024/5/20 5:30:57 标签: hadoop, hdfs, 大数据

  • HDFS是什么
  • HDFS的优点/特性
  • HDFS适用场景
  • HDFS的缺点与不足
  • HDFS 不适用场景

HDFS是什么

  • 源自Google的GFS论文
    • Google于2003年10月发表
    • HDFS是GFS的一个克隆版
  • HDFS(Hadoop Distributed File System)
    • 是易于扩展的分布式文件系统。易扩展意味着如果文件系统大小不够可以增加节点
    • 运行在大量的普通低成本机器上,提供容错机制。也就是说机器成本较低
    • 为用户提供性能极好的文件存储服务

HDFS的优点/特性

  • 高容错性:数据自动保存多个副本,副本丢失自动恢复。比如正在使用的机器down掉后,可以及时地转移在其他备用机器上再进行
  • 适合批量处理
  • 移动计算而非数据:将数据位置暴露给计算框架。这是一个重要的概念。也就是说计算的时候并不是将集群的数据都传输到一台机器上进行计算,因为移动数据会耗费大量的IO(磁盘IO、网络IO等等),而是在集群中的每个机器上分别计算,然后再将结果进行汇总。
  • 适合大数据处理:TB,PB级的数据,百万规模以上的文件数量,10K+节点流式文件访问
  • 一次写入,可多次读取,确保数据的一致性。即文件被写入完成后通过设置使其进入只读状态。 在该状态下保护期内文件只能被读取,无法删除、修改或重命名。 通过采用WORM技术对存储数据进行保护后,可以防止其因意外而修改,这就保证了企业或组织对一些重要的业务数据安全存储的需求
  • 可构建在廉价机器上:通过多副本提高可靠性,有容错和恢复机制

HDFS适用场景

根据HDFS的优点/特性/特点来考虑:

  • 存储并管理 PB 级数据;

  • 适合处理非结构化数据;

  • 注重数据处理的吞吐量;

  • 应用模式为:write-once-read-many 存取模式。即文件被写入完成后通过设置使其进入只读状态。 在该状态下保护期内文件只能被读取,无法删除、修改或重命名。 通过采用WORM技术对存储数据进行保护后,可以防止其因意外而修改,这就保证了企业或组织对一些重要的业务数据安全存储的需求

典型应用例如:网站用户行为分析,生态系统数据分析,气象数据分析,日志分析等等。


HDFS的缺点与不足

  • 不适合低延迟数据访问:比如毫秒级的访问要求。需要进行低延迟与高吞吐率的权衡
  • 不适合小文件存取
    • 占用NameNode大量内存
    • 寻道时间超过读取时间
  • 不适合并发写入、文件随机修改。一个文件只能有一个Writer仅支持append写入

HDFS 不适用场景

根据HDFS的缺点和不足来考虑:

  • 低时间延迟数据访问的应用,例如几十毫秒范围。

    原因:HDFS 是为高数据吞吐量应用优化的,这样是以高时间延迟为代价。

  • 大量小文件。

    原因 : NameNode 将文件系统的元数据存储在内存中,因此文件系统所能存储的文件总数。受限于 NameNode 内存容量。如果每个文件目的录和数据块的存储信息大约占 150 字节,那么对于一百万个文件,假设每个文件仅占用一个数据块,则就至少需要 300MB 的内存,假设需要存储十亿个文件,这时需要的内存量将是非常巨大的。

  • 多用户写入,任意修改文件:现在 hdfs 文件可能只有一个 writer,而且写操作总是写在文件的末尾


http://www.niftyadmin.cn/n/5268861.html

相关文章

windows10 php8连接sql server

一、环境安装 文章目录 一、环境安装1.安装php拓展2.在 Windows 上安装PHP驱动程序3.在 Windows 上安装ODBC驱动 二、php连接sqlserver三、注意事项数据库相关设置相关语法sqlsrv_fetch_array 的示例:sqlsrv_fetch 的示例:echo 和 print_r 的不同 所用资…

C# 获取Windows所有窗口句柄

写在前面 在做录屏或截屏操作时,需要获取当前正在运行中的桌面程序句柄,在网上查找资源的的时候,发现了一个工具类还不错,这边做个验证记录。 参考代码 public class WindowApi{//寻找目标进程窗口 [DllImport("USER…

知识|基于混合模式的多余度飞控全数字仿真系统研究

*余度(Redundancy):一种确保安全的设计手段,使得出现两个及以上故障时,才会引起既定不希望发生的工作状态。 飞行控制软件主要完成飞行传感器数据处理、飞行姿态控制和余度管理任务,对保证飞机安全性和可靠…

25.Java程序设计-基于SSM框架的微信小程序校园求职系统的设计与实现

1. 引言 1.1 背景 介绍校园求职系统的背景,说明为什么设计这个系统以及系统的重要性。 1.2 研究目的 阐述设计基于SSM框架的微信小程序校园求职系统的目标和意义。 2. 需求分析 2.1 行业背景 分析校园求职行业的特点和需求,以及目前市场上同类系统…

nodejs+vue+微信小程序+python+PHP全国天气可视化分析系统-计算机毕业设计推荐

3.2.2后台管理员功能 管理员功能如下: 修改密码:管理员可以随时修改自己进入系统的登录密码,以保证系统的安全性。 天气数据管理:对天气数据信息进行维护,添加、删除、修改信息。 降水数据管理:对降水数据信…

Lambda 表达式的常见用法

文章目录 Lambda 表达式的常见用法使用Lambda表达式集合遍历使用Lambda表达式排序使用Lambda表达式过滤使用Lambda表达式映射使用Lambda表达式归约使用Lambda表达式分组使用Lambda表达式函数式接口的实现使用Lambda表达式线程的创建使用Lambda表达式进行Optional 操作使用Lambd…

低代码核心能力详解:简化应用开发的新思路

低代码平台作为一种快速地应用开发解决方法,为中小企业实现数字化转型提供了机会。但是,对于一些刚开始触碰低代码平台的企业来说,了解其核心能力是很重要的。本文将详细分析低代码平台的核心能力,并在挑选低代码平台以前为中小企…

LabVIEW实时建模检测癌细胞的异常

LabVIEW实时建模检测癌细胞的异常 癌症是全球健康的主要挑战之一,每年导致许多人死亡。世界卫生组织指出,不健康的生活方式和日益严重的环境污染是癌症发生的主要原因之一。癌症的发生通常与基因突变有关,这些突变导致细胞失去正常的增长和分…