大数据处理技术导论(2) | Datawhale组队学习46期

项目地址 https://github.com/datawhalechina/juicy-bigdata,感谢项目团队的付出。
本次主要学习 HDFS 相关内容。

1. HDFS 产生背景

20 世纪 80 年代以来,全球范围内,数据总量呈现指数级增长,单台计算机无法承载如此之大的数据量。分布式文件系统 应运而生。

2. 分布式文件系统简介

分布式文件系统,将数据拆分为若干个块进行存储,块是数据读写的基本单元。HDFS 默认块大小为 64 MB,较大的数据块可以将减少寻址开销;但是,如果数据块太大,会导致 MR 任务种的 MAP 任务一次仅处理一个数据块,启动的任务少,不利于体现分布式集群的优势,最终降低并行运算的速度。
分布式文件系统涉及采用 客户端/服务器 模式。
在物理结构上,分布式文件系统由主节点 master mode 和从节点 worker node 构成。(也被成为 namenode 和 datanode)。
namenode 主要用来管理数据。
datanode 主要用来存储和读取数据。
分布式文件系统通过多副本机制来保障数据的完整性和可用性。同一个数据块会被存放在集群中的不同节点上(也就是不同的服务器上),其原理类似于不把所有鸡蛋放到一个筐里。
分布式文件系统主要用于处理大规模的数据,一般是 TB 级别,在处理小规模数据时,分布式文件系统没有优势。

3. HDFS 简介

HDFS 是大数据领域重要的、可靠的文件存储系统。其适合存储超大数据量的文件,不适合存储超多小数据量文件。
HDFS 具有如下几个特点

  • 仅需价格低廉的服务器就能保障数据的完整性
  • 流式读写:不支持随机读写
  • 数据量大:数据量一般在 GB TB 级别
  • 文件模型简单:一次写入,多次读取
  • 跨平台兼容性好:采用 java 语言实现。

HDFS 缺点:

  • 不适合低延迟访问数据;
  • 无法高效处理海量的小文件
  • 不支持多用户同时写入
  • 只能追加新数据,不能修改旧数据

4. HDFS 存储策略

4.1 冗余存储

采用多副本机制保障文件系统的容错性和可用性。
多副本机制优点如下:

  • 访问速度快:多个客户端访问同一文件时,可以分别访问不同节点上的不同副本,实现并行操作,提高传输效率。
  • 易排错:Why ?
  • 可靠性高:每一份数据都会按照多副本机制存储于集群中的多个节点,数据发生故障的概率为 Xn,可考虑为 1 - Xn,可以说非常高。

4.2 数据存储策略

4.2.1 数据写入

HDFS 数据写入以机架( Rack)为基础进行数据写入。
默认是 3 副本存储策略下,2 份副本(副本 1 和副本 3)的数据存储相同机架的不同节点上,另外 1 份副本(副本 2)存储于不同机架上。
副本数大于 3 时,其他副本随机存储于集群中的数据节点之上。

4.2.2 数据读取

HDFS 提供了 API 进行数据的读取。主要通过机架 ID 来确定读取哪个副本的数据。

4.2.3 数据复制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值