hadoop学习笔记一_HDFS

Hadoop分布式文件系统(HDFS)详解
本文深入探讨了Hadoop分布式文件系统(HDFS),包括其特点、组件、存储方式、物理结构以及与MapReduce、HBase的结合。重点阐述了HDFS的高容错性、数据自动保存与恢复、批处理能力以及流式文件访问特性,同时指出其不擅长低延迟数据访问和小数据存取等场景。

HDFS:Hadoop Distributed File System Hadoop分布式文件系统

1.易于扩展的分布式文件系统

2.运行在大量普通廉价机器上,提供容错机制

3.为大量用户提供性能不错的文件存取服务

擅长:

高容错性

  数据自动保存多个副本

  副本丢失后,自动恢复

适合批处理

  移动计算而非数据

  数据位置暴露给计算框架

适合打数据处理

  GB、TB、设置PB级数据

  百万规模以上的文件数来弄个

  10K+节点规模

流式文件访问

  一次性写入,多次读取

  保证数据一致性

可构建在廉价机器上

  通过多副本提高可靠性

  提供了容错和恢复机制

不擅长:

低延迟数据访问

  比如毫秒级

  低延迟与高吞吐率

小数据存取

  占用NameNode大量内存

  寻道时间超过读取时间

并发写入、文件随机修改

  一个文件只能有一个写者

  仅支持append


NameNode:Master、管理HDFS的名称空间、管理数据块映射信息、配置副本策略、处理客户端读写请求

DataNode:Slave、存储时间的数据快、执行数据块读/写

Clinet:文件切分、与NameNode交互,获取文件位置信息、与DataNode交互,读取或写入数据、管理HDFS、访问HDFS

Secondary NameNode:并非NameNode的热备、辅助NameNode,分担其工作量、顶起合并fsimage和fsedits推送给NameNode、在紧急情况下,可辅助恢复NameNode

NameNode两个重要文件

  fsimage:元数据镜像文件(保存文件系统的目录树)

  edits:元数据操作日志(针对目录树的修改操作)

元数据镜像

  内存中保存一份最新的

  内存中的镜像=fsiamge+edits

定期合并fsiamge与edits

  Edits文件过大将导致NameNode重启速度慢]

  Secondary NameNode负责顶起合并它们


一个文件存储方式

  按大小被切分成若干个block,存储在不同节点上

  默认情况下每个block有三个副本

HDFS的物理结构

HDFS与MapReduce结合

MapReduce作业的输入数据来自HDFS

  HDFS分块存储数据

  默认每个Map Task处理一个数据块

MapReduce作业的最终结果写入HDFS

  确保数据安全可靠

  可作为下一个作业的数据

MapReduce与HDFS关系

  低耦合,MapReduce可以与其他分布式文件系统结合

  HDFS之上可以是其他计算机框架

HDFS与Hbase结合

Hbase中的文件

  操作日志文件WAL

  数据索引文件HFile(storefile)

HDFS为Hbase提供可靠的数据存放服务

  数据三副本,安全可靠

HDFS为Hbase提供数据共享服务

  Hbase布提纳个服务可从HDFS上存取数据


HDFS2.0

NameNode HA

  基于NFS共享存储解决方案

  基于Bookeeper解决方案

  基于Qurom Journal Manager(QJM)解决方案

NameNode Federation

  多个NameNode每个分管一部分目录

  NameNode共用DataNode


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值