【云计算】大数据之HDFS文件系统概述和命令行操作
小标 2018-12-24 来源 : 阅读 742 评论 0

摘要:本文主要向大家介绍了【云计算】大数据之HDFS文件系统概述和命令行操作,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。

本文主要向大家介绍了【云计算】大数据之HDFS文件系统概述和命令行操作,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。


一、HDFS概述


随着数据量越来越大,一个操作系统管辖的范围内存不下了,那么久分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统,HDFS只是分布式文件系统中的一种。


HDFS用于储存文件,通过目录树来定位文件;其次,它还是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。


HDFS的设计适合一次写入,多次读取的场景,且不支持文件的修改。适合用来做数据分析,并不适合来做网盘应用。


HDFS的优点:


高容错性


数据自动保存多个副本,它通过增加副本的形式,提高容错性。


某一个副本丢失以后,它可以自动恢复。


适合大数据处理


数据规模:能过处理数据规格达到GB、TB、甚至达到PB级别的数据


文件规模:能够处理百万级规模以上的文件数量。


流式数据访问


一次写入,多次读取,不能修改,只能追加


它能保证数据的一致性


可构建在廉价机器上,通过多副本机制,提高可靠性


HDFS缺点:


不适合低延时数据访问,比如毫秒级的储存数据,是做不到的


无法高效的对大量小文件进行储存


存储大量小文件的话,它会占用NameNode大量的内存来存储文件、目录和块信息。这样是不可取的,应为NameNode的内存总是有限的


小文件存储的寻道时间会超过读取时间,违反了HDFS的设计目标


并发写入、文件随机修改


一个文件只能有一个写,不运行多个线程同时写


仅支持数据append,不支持文件的随机修改


HDFS的架构



Client:客户端


NameNode:管理者(相当于文件的目录)


DataNode:NameNode下达命令,DataNode执行实际的操作


SecondaryNameNode:并非NameNode的热备份。


HDFS文件块大小


HDFS中的文件在物理上市分块储存(block),块的大小可以通过配置参数(dfs.blocksize)来规定,默认大小在hadoop2.x版本中是128M(集群模式下,本机模式还是64M),老版本中是64M


HDFS的块比磁盘的块大,其目的是为了最小化寻址开销,如果块设置得足够大,从磁盘传输数据的时间会明显大于定位这个快开始位置所需的时间,因此,传输一个由多个块组成的文件的时间取决于磁盘传输速度。


如果寻址时间为10ms,而传输速率为100MB/s,为了使寻址时间仅占传输时间的1%,我们要将快大小设置为100MB。



二、HDFS命令行操作


基本语法:hadoopfs [OPTIONS]


语法参数:


-help:输出这个命令的参数


-ls:显示目录信息


-mkdir:在hdfs上创建目录


-moveFromLocal:从本地文件剪贴粘贴到hdfs


-appendToFile:追加一个文件到已经存在的文件末尾


-cat:显示文件内容


-tail:显示一个文件的末尾


-chgrp、-chmod、-chown:linux文件系统中的用法一样,修改文件的所属权


-copyFromLocal:从本地文件系统拷贝文件到hdfs


-coypToLocal:从hdfs拷贝到本地


-cp:从hdfs的一个路径拷贝到hdfs下的另一个路径


-mv:在hdfs目录中移动文件


-get:等同于coypToLocal,下载hdfs文件到本地


-getmerge:合并下载多个文件,通过通配符下载目录下的文件


-put:等同于copyFromLocal


-rm:删除文件或者文件夹


-rmdir:删除空目录


-df:统计文件系统的可用空间信息


-du:统计文件夹大小信息


-setrep:设置hdfs中文件副本数量


          

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标大数据云计算大数据安全频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程