Hadoop日记——分布式文件系统HDFS
2017-06-23 18:29
246 查看
HDFS是Hadoop的数据储存部分,类似我们电脑的硬盘,主要由NameNode,DataNode**,SecondNameNode**组成,这篇文章主要是介绍这三部分的职责,还有其中的一些机制
NameNode(NN)
NameNode主要功能:接受客户端的读写服务
NameNode保存metadata信息包括:
文件ownership和permission
文件包含哪些块
Block保存在哪个DataNode(由DataNode启动时上报)
NameNode的metadata信息在启动后会加载到内存
metadata储存到磁盘文件名为“fsimage”
Block的位置信息不会保存到fsimage
edits记录对metadata的操作日志
SecondNameNode(SNN)
它不是NN的备份(但可以做部分备份),它的主要工作是帮助NN合并edits log,减少NN启动时间。
SNN执行合并实际
根据配置文件设置的时间间隔fs.checkpoint.period默认3600秒
根据配置文件设置edits log大小fs.checkpoint.size贵的edits文件的最大值默认是64MB
DataNode(DN)
储存数据(Block)
启动DN线程的时候回向NN回报block信息
通过向NN发送心跳保持与其保持联系(3秒一次),如果NN 10分钟没有收到DN的心跳,则认为其已经lost,并copy其上的block到其它的DN
Block的副本放置策略
第一个副本:放置在上传文件的DN;如果是集群外提交,则随机挑选一台磁盘不太慢,CPU不太忙的节点
第二个副本:放置在第一个副本不同的机架的节点上(以免同一个机架断电)
第三个副本:与第二个副本相同机架的节点
更多副本:随机节点
HDFS文件权限
与Linux文件权限类似
r:read;w:write;x:execute,权限x对于文件忽略,对于文件夹表示是否允许访问其内容
与Linux系统用户zhangsan使用hadoop命令创建一个文件,那么这个文件在HDFS中owner就是zhangsan
HDFS的权限目的:阻止好人做错事,而不是阻止坏人做坏事。HDFS相信,你告诉我你是谁,我就认为你是谁
安全模式
NameNode启动的时间,首先将映像文件(fsimage)载入内存,并执行编辑日志(edist中各项操作)
一旦在内存中成功建立文件系统元数据的映射,则创建一个新的fsiamge文件(这个操作不需要SecondaryNameNode)和一个空的编辑的日志
此刻NameNode运行再安全模式。即NameNode的文件系统对于客户端来说是只读的。(显示目录,显示文件内容等。写、删除、重命名都会失败)。
在此阶段NameNode收集各个DataNode的报告,当数据库达到最小副本数以上时,会被认为是“安全”的,在一定比例(可设置)的数据块被确定为“安全”后,再过若干时间,安全模式结束
当检测到副本数不足的数据块时,该块会被复制知道达到最小副本数,系统中数据块的位置不是由NameNode维护的,而是以块列表形式储存在DataNode中。
NameNode(NN)
NameNode主要功能:接受客户端的读写服务
NameNode保存metadata信息包括:
文件ownership和permission
文件包含哪些块
Block保存在哪个DataNode(由DataNode启动时上报)
NameNode的metadata信息在启动后会加载到内存
metadata储存到磁盘文件名为“fsimage”
Block的位置信息不会保存到fsimage
edits记录对metadata的操作日志
SecondNameNode(SNN)
它不是NN的备份(但可以做部分备份),它的主要工作是帮助NN合并edits log,减少NN启动时间。
SNN执行合并实际
根据配置文件设置的时间间隔fs.checkpoint.period默认3600秒
根据配置文件设置edits log大小fs.checkpoint.size贵的edits文件的最大值默认是64MB
DataNode(DN)
储存数据(Block)
启动DN线程的时候回向NN回报block信息
通过向NN发送心跳保持与其保持联系(3秒一次),如果NN 10分钟没有收到DN的心跳,则认为其已经lost,并copy其上的block到其它的DN
Block的副本放置策略
第一个副本:放置在上传文件的DN;如果是集群外提交,则随机挑选一台磁盘不太慢,CPU不太忙的节点
第二个副本:放置在第一个副本不同的机架的节点上(以免同一个机架断电)
第三个副本:与第二个副本相同机架的节点
更多副本:随机节点
HDFS文件权限
与Linux文件权限类似
r:read;w:write;x:execute,权限x对于文件忽略,对于文件夹表示是否允许访问其内容
与Linux系统用户zhangsan使用hadoop命令创建一个文件,那么这个文件在HDFS中owner就是zhangsan
HDFS的权限目的:阻止好人做错事,而不是阻止坏人做坏事。HDFS相信,你告诉我你是谁,我就认为你是谁
安全模式
NameNode启动的时间,首先将映像文件(fsimage)载入内存,并执行编辑日志(edist中各项操作)
一旦在内存中成功建立文件系统元数据的映射,则创建一个新的fsiamge文件(这个操作不需要SecondaryNameNode)和一个空的编辑的日志
此刻NameNode运行再安全模式。即NameNode的文件系统对于客户端来说是只读的。(显示目录,显示文件内容等。写、删除、重命名都会失败)。
在此阶段NameNode收集各个DataNode的报告,当数据库达到最小副本数以上时,会被认为是“安全”的,在一定比例(可设置)的数据块被确定为“安全”后,再过若干时间,安全模式结束
当检测到副本数不足的数据块时,该块会被复制知道达到最小副本数,系统中数据块的位置不是由NameNode维护的,而是以块列表形式储存在DataNode中。
相关文章推荐
- Hadoop分布式文件系统——HDFS
- linux下安装hadoop分布式文件系统hdfs
- Hadoop分布式文件系统HDFS的具体实现
- Hadoop分布式文件系统HDFS的工作原理详述
- HDFS-Hadoop分布式文件系统
- Hadoop HDFS分布式文件系统设计要点与架构(转摘)
- 【从零开始学习Hadoop】--2.HDFS分布式文件系统
- Hadoop分布式文件系统(HDFS)
- Hadoop系列之六:分布式文件系统HDFS
- Hadoop HDFS分布式文件系统设计要点与架构
- Hadoop分布式文件系统——HDFS回收站
- Hadoop分布式文件系统--HDFS结构分析
- Hadoop — 分布式文件系统HDFS(初识 )
- 从零开始学习Hadoop--第3章 HDFS分布式文件系统
- [Hadoop] HDFS分布式文件系统设计详解
- Hadoop HDFS分布式文件系统设计要点与架构
- Hadoop分布式文件系统HDFS——Flume和Sqoop导入数据,distcp并行复制,Hadoop存档
- 第三章 HADOOP分布式文件系统 第一节 HDFS设计
- hadoop 学习笔记 三 ---HDFS hadoop分布式文件系统
- Hadoop HDFS分布式文件系统特点