加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱故事小小网_铜陵站长网 (http://www.0562zz.com/)- 视频终端、云渲染、应用安全、数据安全、安全管理!
当前位置: 首页 > 大数据 > 正文

大数据基础:HDFS说明

发布时间:2021-06-18 15:54:02 所属栏目:大数据 来源:互联网
导读:HDFS简介 当数据集的大小超过一台独立物理计算机的存储能力时,就有必要对它进行分区 (partition)并存储到若干台单独的计算机上。管理网络中跨多台计算机存储的文件系统成为分布式文件系统 (Distributed filesystem)。该系统架构于网络之上,势必会引入网络
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 Client,NameNode,DataNode和Secondary 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文件系统中,作用如下:
 
5.1.一个文件可能大于整个磁盘容量,引入块机制可以很好地解决这个问题。
 
5.2.使用块作为文件存储的逻辑单位可以简化存储子系统。
 
5.3.易于备份提高容灾能力,在hadoop2中,block的默认大小为128M,可以在hdfs-site.xml配置文件中修改。每个block的默认副本数为3,也可以在这个配置文件中改。
 
dfs.replication3dfs.block.size1342177285.2 机架感知
 
机架可以理解为存放一组主机的柜子,机架感知是HDFS的系统中有一个副本存放的策略。
 
 
 
每一个Block在同一个机架的机器内存放一个副本,在另一个机架内的一个机器存放第二个副本,相同机架内的机器传输速率很快,第二个机架是为了提高容灾能力。
 
6 HDFS基础命令
 
6.1.ls
 
演示列出根目录下文件列表
 
6.2.lsr:整个目录下递归运行ls。(已经过时,使用-ls -R代替这个命令)
 
 
 
6.3.mkdir
 
 
 
可以用50070端口查看系统的文件
 
6.4.put :将本地文件/文件夹拷贝到HDFS内
 
将a.txt上传到根目录下
 
 
 
6.5.moveFromLocal:将本地文件/文件夹剪切到HDFS上 6. get :将HDFS中的文件拷贝到本地
 
将HDFS中根目录下a.txt文件拷贝到本地当前目录
 
7.mv:将HDFS的文件移动到目标路径(HDFS内部的文件移动)

(编辑:我爱故事小小网_铜陵站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读