首页 > 科技 >

大数据系列文章之HDFS系统架构与组件功能

2019-05-22 06:23:09 暂无 阅读:655 评论:0
大数据系列文章之HDFS系统架构与组件功能

HDFS引入

HDFS 是分布式文件系统,首先我们来看一下什么是文件系统

文件系统

文件系统:

看得见的

文件治理:拿windows系统举例,咱们能够看到有各类盘符,盘符下面有各类目录以及文件

看不见的

块(block)治理:文件实际存放的位置是在磁盘中的块内

单机文件系统

windows

FAT16、FAT32、NTFS等等

linux

ext2/3/4、xfs

分布式文件系统

将数据交给多个办事器进行处理

Nutch

大数据系列文章之HDFS系统架构与组件功能

之前的文章能够看到 Nutch使用分布式存储解决了数据存放的问题,具体实现体式是如何的呢?又与HDFS有何渊源呢?

由收集爬虫爬取数据

此时挪用drive,这里driver首要做了两件事

存储medatada

文件名、建立时间、文件巨细

文件与块(block)的对应关系

块(block)与机械的对应关系

存储block

最后索引办事器挪用driver的metadata到对应的办事器取对应的块信息进行剖析,生成索引文件

索引文件:要害字 --> [ file1,file2,…… ]

HDFS

大数据系列文章之HDFS系统架构与组件功能

这时我们把driver功能抽离出来成为一个通用的功能:HDFS

HDFS会有两种历程:

NameNode:

文件名、建立时间、文件巨细

文件与块(block)的对应关系

块(block)与DataNode的对应关系

DataNode:存放block

在上图中

机械A,B,C上都邑启动一个DataNode历程用来和NameNode通信以及进行实际的文件把持

机械D上启动一个NameNode,存放metadata信息以及和DataNode通信

当有文件把持恳求时,会向机械D中的NameNode历程扣问metadata信息,机械D中的NameNode历程会将对应究竟返回给client

client 凭据NameNode返回的究竟去对应的DataNode上执行实际的文件把持

HDFS组件

NameNode

主节点,存储文件的metadata(文件名、文件目录、文件属性:生成时间,副本数,文件权限等),以及每个文件的块列表和块地点的DataNode等

DataNode

内陆文件系统存储文件块数据,以及块数据的校验和

校验和首要是为了防止在收集通信过程中,block发生损坏,进而包管数据一致性

SecondaryNameNode

监控HDFS状况的辅助后台法式,每隔一段时间获取HDFS的metadata快照

分管NameNode压力,归并编纂日志文件(edits)和镜像文件(fsimage),将最终的镜像文件交给NameNode

当客户端恳求过来之后,先写入编纂日志文件内,隔一段时间需要和镜像文件进行归并,这个把持非常占用资源,影响客户端恳求质量,所以将这个把持交给SecondaryNameNode进行处理,将最终的镜像文件交给NameNode

相关文章