热门课程

免费试听

上课方式

开班时间

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

大数据基础:HDFS介绍

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

HDFS简介

当数据集的大小超过一台独立物理计算机的存储能力时,就有必要对它进行分区 (partition)并存储到若干台单独的计算机上。管理网络中跨多台计算机存储的文件系统成为分布式文件系统 (Distributed filesystem)。该系统架构于网络之上,势必会引入网络编程的复杂性,因此分布式文件系统比普通磁盘文件系统更为复杂。

1.介绍

需要跨机器存储,统一管理分布在集群上的文件系统统称为分布式文件系统。 Hodoop使用HDFS(Hadoop Distributed File System)作文存储系统。HDFS使用多台计算机存储文件,对外提供统一操作文件的接口。

2.应用场景

适合的场景

a.存储非常大的文件并且对延时没有要求 。

b.彩球流式的数据访问方式,即一次写入,多次读取。数据集经常从数据源生成或者拷贝,然后做很多分析工作。

c.对硬件要求不高 。

d.高容错 。

e.可拓展。

不适合的场景

a.对延时有要求。

b.大量小文件。每个文件都需要对应一条元数据,元数据存储在NameNode的内存中 。

c.多方读写。不支持文件任意offset的修改。不支持多个写入器。

3.HDFS的架构

HDFS是一个主/从体系结构。 HDFS由四部分组成,HDFS ClientNameNodeDataNodeSecondary NameNode

Client:客户端 。

a.文件切分,文件上传HDFS的时候,将文件切分成一个一个的数据块(Block)进行存储 。

b.与NameNode交互,获取文件的位置 。

c.与DataNode交互,读取或写入数据 。

NameNode: HDFS系统中的master,是主管 。

a.管理HDFS的名称空间 。

b.管理数据块(block)的映射信息 。

c.管理副本策略 。

d.处理客户端请求 。

DataNode: 就是Slave 。

a.存储实际的数据块 。

b.执行数据库的读/写操作 。

Secondary NameNode: 并非NameNode的热备,不能代替Namenode 。

a.辅助NameNode,分担其工作 。

b.当NameNode挂掉时,辅助它复活。

4.NameNode和DataNode

4.1.NameNode作用

NameNode在内存中保存着整个文件系统的名称空间和文件数据块的地址映射。 整个HDFS可存储的文件数量受限于NameNode的内存大小。

1.NameNode元数据信息:文件名,文件目录结构,文件属性以及每个文件的块列表。以及列表中的块与块所在的DataNode的之间的地址映射关系。这些数据会定时持久化到磁盘中。

2.NameNode文件操作:NameNode负责文件元数据的操作,DataNode负责处理文件内容的读写,数据流不经过NameNode。

3.NameNode副本:文件数据块到底存放到哪里DataNode上,是由NameNode依据全局情况做出放置副本的决定。

4.NameNode心跳机制: NameNode会周期性的来自DataNode的状态信息报告。如果10分钟内接受不到DN的心跳,NN则会认为它宕机。

4.2 DataNode的作用

1.DN以数据块的形式存储文件 。

2.DN响应Client的读写请求 。

3.DN周期性的向NN发送心跳信息 。

4.DN周期性的向NN汇报数据块信息/缓存数据块信息。

5.HDFS的副本机制和机架感知

5.1 HDFS文件副本机制

所有的文件都是以block块的方式存放在HDFS文件系统中,作用如下:

1.一个文件可能大于整个磁盘容量,引入块机制可以很好地解决这个问题。

2.使用块作为文件存储的逻辑单位可以简化存储子系统。

3.易于备份提高容灾能力,在hadoop2中,block的默认大小为128M,可以在hdfs-site.xml配置文件中修改。每个block的默认副本数为3,也可以在这个配置文件中改。

dfs.replication3dfs.block.size134217728

5.2 机架感知

机架可以理解为存放一组主机的柜子,机架感知是HDFS的系统中有一个副本存放的策略。

每一个Block在同一个机架的机器内存放一个副本,在另一个机架内的一个机器存放第二个副本,相同机架内的机器传输速率很快,第二个机架是为了提高容灾能力。

6 HDFS基础命令

1.ls

演示列出根目录下文件列表

2.lsr:整个目录下递归运行ls。(已经过时,使用-ls -R代替这个命令)

3.mkdir

可以用50070端口查看系统的文件

4.put :将本地文件/文件夹拷贝到HDFS内

将a.txt上传到根目录下

5.moveFromLocal:将本地文件/文件夹剪切到HDFS上

6. get :将HDFS中的文件拷贝到本地

将HDFS中根目录下a.txt文件拷贝到本地当前目录

7.mv:将HDFS的文件移动到目标路径(HDFS内部的文件移动)

8.rm:删除文件或目录

9.cp:将文件拷贝到目标路径

10.cat :显示文件内容

11.chmod:改变文件权限

12.chown :改变文件所属用户和用户组

13.appendToFile :合并本地文件拷贝至HDFS

今天的内容就先分享到这儿~


 

大家都在看

【3大理由】为何鸿蒙是前端开发者的下一个风口?

2024-07-09 浏览次数:0

Ansible 自动化工具安装、配置

2024-07-09 浏览次数:0

Linux系统入侵后的排查过程

2024-07-09 浏览次数:0

知了堂杨总监应邀出席成都农学院信息技术分院

2024-07-09 浏览次数:0

网络运维工程师主要做什么?网络运维工程师需要学什...

2024-07-09 浏览次数:0

自学怎么学前端?前端怎么才能学好?

2024-07-09 浏览次数:0
最新资讯
大数据基础:HDFS介绍 当数据集的大小超过一台独立物理计算机的存储能力时,就有必要对它进行分区 (partition)并存储...
dfs.replication3dfs.block.size134217728

5.2 机架感知

机架可以理解为存放一组主机的柜子,机架感知是HDFS的系统中有一个副本存放的策略。

每一个Block在同一个机架的机器内存放一个副本,在另一个机架内的一个机器存放第二个副本,相同机架内的机器传输速率很快,第二个机架是为了提高容灾能力。

6 HDFS基础命令

1.ls

演示列出根目录下文件列表

2.lsr:整个目录下递归运行ls。(已经过时,使用-ls -R代替这个命令)

3.mkdir

可以用50070端口查看系统的文件

4.put :将本地文件/文件夹拷贝到HDFS内

将a.txt上传到根目录下

5.moveFromLocal:将本地文件/文件夹剪切到HDFS上

6. get :将HDFS中的文件拷贝到本地

将HDFS中根目录下a.txt文件拷贝到本地当前目录

7.mv:将HDFS的文件移动到目标路径(HDFS内部的文件移动)

8.rm:删除文件或目录

9.cp:将文件拷贝到目标路径

10.cat :显示文件内容

11.chmod:改变文件权限

12.chown :改变文件所属用户和用户组

13.appendToFile :合并本地文件拷贝至HDFS

今天的内容就先分享到这儿~


 

HDFS

上一篇:Netty的核心模块组件都有哪些?

下一篇:Java经典算法——桶排序

相关内容

大数据基础:HDFS介绍
当数据集的大小超过一台独立物理计算机的存储能力时,就有必要对它进行...
2024-07-09 11:12:24

热门资讯

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