热门课程

免费试听

上课方式

开班时间

当前位置: 首页 -   文章 -   新闻动态 -   正文

分布式文件系统学习

知了堂姐
2024-07-09 11:12:24
0

一、HDFS高级命令

1.HDFS文件限额配置

HDFS文件限额配置可以限制一个目录的文件数量,空间大小。

1.1 文件数量限制

我们新建一个目录,使用hdfs dfs -count -q -h查看这个目录的原始限额信息。

分布式文件系统学习
分布式文件系统学习

当设置目录上限为n个文件时,实际上只能存储n-1个文件,因为目录也算一个。

1.2 空间大小限额

分布式文件系统学习

给目录空间限额有一个原则,即限额必须大于Block容量3 文件上传到被限额的目录时,目录空间限额量必须大于 文件大小/block容量3,否则会上传失败。

2.HDFS的安全模式

安全模式是hadoop的一种保护机制,用于保护数据块的安全性。当集群启动的时候,会首先进入安全模式。当系统处于安全模式时会检查数据块的完整性,即检查副本率(实际副本数/默认副本数)如果副本率小于0.999,hadoop会增加副本,如果副本数大于默认副本的个数,则会删除多余的副本。知了汇智联合一线企业整合资源,只为培养高质量白帽子网络安全工程师!默认配置下如果没有问题,30秒之后会退出安全模式 在安全模式下,文件系统只能读取,不能删改。

分布式文件系统学习

在50070端口可以更直观地看到系统是否正在处于安全模式。

分布式文件系统学习

二、HDFS基准测试

在hadoop集群搭建完成后,第一件事情就是执行压力测试。

1.测试写入速度

分布式文件系统学习

执行hadoop安装包 share/hadoop/mapreduce下
hadoop-mapreduce-client-jobclient-2.9.2.jar这个jar包。

分布式文件系统学习

写入速度测试结果。

2.测试读取速度

分布式文件系统学习

这个测试命令和上一个只是换了一个参数read 查看测试结果。

分布式文件系统学习

3.清除测试数据

分布式文件系统学习

三、HDFS文件写入过程

1.client请求上传文件。

2.NameNode检测上传权限。

3.可以上传,NameNode回复Client。

4.Client切分文件,请求上传第一个block。

5.NameNode根据集群信息和机架感知,选出可以上传的三个DataNode。

6.NameNode将选出的DataNode列表回复给Client。

7.Client与DataNode建立piepeline,DataNode与DataNode之间也建立piepeline。

8.Client依靠piepeline传递数据(传递的数据单位是packet(64k))。

9.当第一个DataNode接受到数据,它会进行缓存,通过piepeline再传递到下一个DataNode,下一个DataNode也会缓存,依次传递。

10.第N个DataNode发送应道到N-1个DataNode,依次发送,直到发到第一个DataNode,然后第一个DataNode回复客户端,发送完毕。

11.从4步开始,Client开始上传第二个block。

分布式文件系统学习

四、HDFS文件读取过程

1.client发送下载请求。

2.NameNode进行权限检查和block列表检查。

3.返回block主机列表给client。

4.client与DataNode建立piepeline。

5.开始读取数据,读取的数据单位也是packet,读操作是并行进行的。

6.将block进行合并。

分布式文件系统学习

五、HDFS的元数据管理

1. FsImage 和 Edits文件

1.fsImage:由于NameNode将文件的元数据保存在内存中,如果重启就会消失。fsImage就是元数据的持久化文件。但fsImage并不一定是完整的元数据文件,它只是一段时间内的元数据,需要根据Eidts文件进行补全。

2.Eidts:保存最近的对元数据操作的日志文件fsimage,Eidts的位置配置在了hdfs-site.xml中。

<property><name>dfs.namenode.name.dirname><value>file:///opt/hadoop-2.9.2/hadoopDatavalue>property><property><name>dfs.namenode.edits.dirname><value>file:///opt/hadoop-2.9.2/hadoopDatavalue>property>

查看fsimage和edits的命令

分布式文件系统学习

-i 表示哪一个文件,-p表示解析的方式,-o表示保存在哪个文件。

2.SecondaryNameNode 如何辅助管理 fsimage 与 edits 文件

当服务器运行时间不断增加,edits的文件大小就会不断增大,这时就需要SecondaryNameNode定期合并 fsimage 和 edits, 把edits控制在一个范围内 SecondaryNameNode合并fsimage和edits,有两个触发条件,我们可以通过修改hdfs-site.xml来配置。

<property>  <name>fs.checkpoint.periodname>  <value>3600<alue>property><property>  <name>fs.checkpoint.sizename>  <value>67108864<alue>property>

补充:HDFS的高可用机制

NameNode作为HDFS的核心,肯定不能只有一个。在一个高可用的HDFS中,有一个NameNode作为active状态,多个NameNode作为StandBy。 HDFS使用JournalNode来管理元数据信息,同时备份多个JouranlNode组成元数据的共享存储系统。知了堂Java8.0版,让你少走弯路,摆脱就业困境!毕业即就业,5个月项目实战堪比2年工作经验!active状态的NameNode将Edits日志写入共享存储系统,StandBy从共享存储系统中读取Edits日志。保证所有NameNode内的元数据是同步的 HDFS使用ZKFC组件(基于zookeeper实现)监控NameNode状况和即使切换Active的NameNode,具体机制如下图:

分布式文件系统学习

补充:HDFS的联邦机制(Federation)

随着业务量的增多,我们内存中的元数据会越来越多,甚至达到上百G。NameNode成为了性能的瓶颈。因而提出了namenode水平扩展方案— Federation。 简单来说,就是再给HDFS中增加多个NameNode集群,不同的集群管理系统中不同的文件,互不干涉。

分布式文件系统学习
大家都在看

Java培训学校哪个好?靠谱得Java培训少不了...

2024-07-09 浏览次数:0

鸿蒙开发需要掌握前端吗?

2024-07-09 浏览次数:0

web前端框架哪个好?前端三大框架区别

2024-07-09 浏览次数:0

转行学前端开发是不是容易一些?需要做哪些准备?

2024-07-09 浏览次数:0

java本地缓存框架有哪些?都有哪些特点

2024-07-09 浏览次数:0

学java线上好还是线下好?线上学编程和线下有什...

2024-07-09 浏览次数:0
最新资讯
分布式文件系统学习 一、HDFS高级命令 1.HDFS文件限额配置 HDFS文件限额配置可以限制一个目录的文件数...
分布式理论基础 分布式系统是若干个独立计算机的集合,这些计算机对于用户来说就像单个相关系统 分布式系统是一组通过网...
分布式框架Dubbo(入门级) 1、什么是Dubbo Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用...
快速了解分布式消息技术Kafk... 1.Kafka是什么 是一个分布式、支持分区的(partition)、多副本的(replica...
深入学习分布式文件系统 一、HDFS高级命令 1.HDFS文件限额配置 HDFS文件限额配置可以限制一个目录的文件数量,空...
分布式理论基础 分布式系统是若干个独立计算机的集合,这些计算机对于用户来说就像单个相关系统 分布式系...
分布式框架Dubbo(入门级) 1、什么是Dubbo Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用...
快速了解分布式消息技术Kafk... 1.Kafka是什么 是一个分布式、支持分区的(partition)、多副本的(replicati...
<property><name>dfs.namenode.name.dirname><value>file:///opt/hadoop-2.9.2/hadoopDatavalue>property><property><name>dfs.namenode.edits.dirname><value>file:///opt/hadoop-2.9.2/hadoopDatavalue>property>

查看fsimage和edits的命令

分布式文件系统学习

-i 表示哪一个文件,-p表示解析的方式,-o表示保存在哪个文件。

2.SecondaryNameNode 如何辅助管理 fsimage 与 edits 文件

当服务器运行时间不断增加,edits的文件大小就会不断增大,这时就需要SecondaryNameNode定期合并 fsimage 和 edits, 把edits控制在一个范围内 SecondaryNameNode合并fsimage和edits,有两个触发条件,我们可以通过修改hdfs-site.xml来配置。

<property>  <name>fs.checkpoint.periodname>  <value>3600<alue>property><property>  <name>fs.checkpoint.sizename>  <value>67108864<alue>property>

补充:HDFS的高可用机制

NameNode作为HDFS的核心,肯定不能只有一个。在一个高可用的HDFS中,有一个NameNode作为active状态,多个NameNode作为StandBy。 HDFS使用JournalNode来管理元数据信息,同时备份多个JouranlNode组成元数据的共享存储系统。知了堂Java8.0版,让你少走弯路,摆脱就业困境!毕业即就业,5个月项目实战堪比2年工作经验!active状态的NameNode将Edits日志写入共享存储系统,StandBy从共享存储系统中读取Edits日志。保证所有NameNode内的元数据是同步的 HDFS使用ZKFC组件(基于zookeeper实现)监控NameNode状况和即使切换Active的NameNode,具体机制如下图:

分布式文件系统学习

补充:HDFS的联邦机制(Federation)

随着业务量的增多,我们内存中的元数据会越来越多,甚至达到上百G。NameNode成为了性能的瓶颈。因而提出了namenode水平扩展方案— Federation。 简单来说,就是再给HDFS中增加多个NameNode集群,不同的集群管理系统中不同的文件,互不干涉。

分布式文件系统学习
分布式

上一篇:分布式理论基础

下一篇:Springboot实现软件License授权认证

相关内容

分布式文件系统学习
一、HDFS高级命令 1.HDFS文件限额配置 HDFS文...
2024-07-09 11:12:24
分布式理论基础
分布式系统是若干个独立计算机的集合,这些计算机对于用户来说就像单个...
2024-07-09 11:12:24
分布式框架Dubbo(入门...
1、什么是Dubbo Dubbo是一个分布式服务框架,致力于提供...
2024-07-09 11:12:24
快速了解分布式消息技术Ka...
1.Kafka是什么 是一个分布式、支持分区的(partit...
2024-07-09 11:12:24
深入学习分布式文件系统
一、HDFS高级命令 1.HDFS文件限额配置 HDFS文件限额...
2024-07-08 17:22:16
分布式理论基础
分布式系统是若干个独立计算机的集合,这些计算机对于用户来说...
2024-07-08 17:22:16

热门资讯

就业课程介绍(Java+前端+... Java+大数据,前端全栈,信息安全
关于我们 请输入文章描述
0基础转行信安,他如何做到月薪... 转行并非简单的换份工作,而是我们在职场进行自我认同、重塑身份的一个过程。今天知了小姐姐为大家介绍一位...
【前端每日一题】什么是BFC?... 秋招马上就要开始了,小伙伴们最近在准备面试的东西没呢,知了姐今天将蛋糕哥整理的前端面试题共享出来,同...
cisp考试费用多少?cisp...   随着网络技术的快速发展,网络安全问题变得越来越重要。那么,CISP考试费用多少?CISP报名条件...
img标签的onerror事件... 1.img 标签除了 onerror 属性外,还有其他获取管理员路径的办法吗? src 指定一个远程...
pythone 文件和数据格式... 关于 Python 对文件的处理,以下选项中描述错误的是
网络安全运维岗面试题及答案详解... 在当今数字化时代,网络安全运维工程师的角色变得愈发重要。为了保障网络安全,各个企业都需要拥有一支经验...
知了堂官网V3第一版内测邀请 经过几个月的加班加点,我们终于迎来了知了堂官网3.1.0版本 现正招募内测中
川农第一次线下拓展精彩瞬间 5月15日,知了堂的哥哥姐姐们携手企业拓展教练浩浩荡荡奔赴川农。
-->