大数据干货系列(二)-HDFS1.0

本文共计876字,预计阅读时长五分钟

一、本质

HDFS(Hadoop Distributed File System)是一种适合运行在通用硬件上的分布式文件系统

二、HDFS解决了什么问题

1.海量数据存储和吞吐

2.write-once-read-many存取模式(无数据一致性问题)

3.高度容错

4.处理非结构化数据

三、系统架构

1. NameNode

1)作用

•管理着文件系统命名空间

•在内存中存储元数据

-文件名目录名及它们之间的层级关系

-文件目录的所有者及其权限

-每个文件块的名及文件有哪些块组成

•保存文件,block,datanode之间的映射关系

2)单点问题

•全Hadoop系统只有一个NameNode

3)两种解决方案

•将hadoop元数据写入到本地文件系统的同时,再实时同步到一个远程挂载的网络文件系统

•运行一个secondaryNameNode

2. SecondaryNameNode

1)作用

•元信息持久化到磁盘

-存放元信息的文件是fsimage

-存放对元信息的操作的文件是edits

•定时到NameNode去获取edit logs,并更新到fsimage[Secondary NameNode自己的fsimage]

•一旦它有了新的fsimage文件,它将其拷贝回NameNode中。

• NameNode在下次重启时会使用这个新的fsimage文件,从而减少重启的时间。

3. DataNode

1)作用

•负责存储数据块,负责为系统客户端提供数据块的读写服务

•根据NameNode的指示进行创建、删除和复制等操作

•心跳机制,定期报告文件块列表信息

• DataNode之间进行通信,块的副本处理

2) block

• HDFS读写的基本单位

• HDFS默认数据块大小64MB,一般磁盘块是512B

•块增大可以减少寻址时间,降低寻址时间/文件传输时间

•块过大会导致整体任务数量过小,降低作业处理速度

四、三个策略

1.机架感知策略(Block副本的放置策略)

•第一个副本,在客户端相同的节点(如果客户端是集群外的一台机器,就随机算节

点,但是系统会避免挑选太满或者太忙的节点)

•第二个副本,放在不同机架(随机选择)的节点

•第三个副本,放在与第二个副本同机架但是不同节点上。

2.数据完整性校验

1)校验和

检测损坏数据的常用方法是在第一次进行系统时计算数据的校验和,在通道传输过程中,如果新生成的校验和不完全匹配原始的校验和,那么数据就会被认为是被损坏的。

2)数据块检测程序DataBlockScanner

在DataNode节点上开启一个后台线程,来定期验证存储在它上所有块,这个是防止物理介质出现损减情况而造成的数据损坏。

3.容错-可靠性措施

1)故障检测

- DataNode

•心跳包(检测是否宕机)

•快报告(安全模式下检测)

•数据完整性检测(校验和比较)

- NameNode

•日志文件

•镜像文件

2)空间回收机制

- Trash目录

五、HDFS和MapReduce

六、HDFS的局限

1.存储小文件(不建议)

2.大量随机读(不建议)

3.需要对文件修改(不支持)

4.多用户写入(不支持)

以上.

如果觉得本文对你有帮助,可以帮忙点个赞表示支持吗,谢谢!

如果有任何意见和建议,也欢迎再下方留言~

关注这个公众号,每天22:00会有三道大数据面试题准时推送给你哦~

本文来自企鹅号 - 每天学点java干货媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏LanceToBigData

Hadoop(四)HDFS集群详解

前言   前面几篇简单介绍了什么是大数据和Hadoop,也说了怎么搭建最简单的伪分布式和全分布式的hadoop集群。接下来这篇我详细的分享一下HDFS。   H...

54190
来自专栏别先生

一脸懵逼学习基于CentOs的Hadoop集群安装与配置(三台机器跑集群)

1:Hadoop分布式计算平台是由Apache软件基金会开发的一个开源分布式计算平台。以Hadoop分布式文件系统(HDFS)和MapReduce(Google...

28250
来自专栏积累沉淀

Hadoop五个进程的作用和联系

1.NameNode:     相当于一个领导者,负责调度 ,比如你需要存一个1280m的文件     如果按照128m分块 那么namenode就会把这1...

20460
来自专栏恰童鞋骚年

Hadoop学习笔记—1.基本介绍与环境配置

说到Hadoop的起源,不得不说到一个传奇的IT公司—全球IT技术的引领者Google。Google(自称)为云计算概念的提出者,在自身多年的搜索引擎业务中构...

9910
来自专栏PPV课数据科学社区

Spark的三种集群deploy模式对比

Spark有三种集群部署模式,或者叫做集群管理模式。分别是standalone,YARN和Mesos。这三种模式其实都是master/slave模式。 那么在...

42660
来自专栏Hadoop实操

如何在CDH集群中加入异构设备

在部署CDH集群或者扩容时,会遇到服务器配置不同(CPU、Memory、DISK等)的情况,那我们应该如何加入异构设备,并进行差异化的配置呢?本篇文章主要讲述如...

52990
来自专栏灯塔大数据

每周学点大数据 | No.69 多机配置

No.69 多机配置 Mr. 王:在关于 Hadoop 内容介绍的最后,我们来谈谈如何把 Hadoop 配置在多台计算机上。 小可 :嗯,到目前为止,所有的程序...

33360
来自专栏Spark学习技巧

金融反欺诈场景下的Spark实践

推荐阅读: 1,Spark Structured Streaming高级特性 2,Spark高级操作之json复杂和嵌套数据结构的操作一...

381100
来自专栏灯塔大数据

每周学点大数据 | No.63 Hadoop MapReduce 实践—环境搭建(下)

NO.63  Hadoop MapReduce 实践—环境搭建(下) Mr. 王:vim 是Linux 下开源的文本编辑器,它的功能非常强大,受到广大编程爱好...

34750
来自专栏性能与架构

HDFS 核心原理

HDFS(Hadoop Distribute File System)是一个分布式文件系统 文件系统是操作系统提供的磁盘空间管理服务,只需要我们指定把文件放到...

33370

扫码关注云+社区

领取腾讯云代金券