Hadoop作为大数据主流基础设施的选择,至今仍占有重要地位,基于Hadoop的分布式文件系统HDFS在大数据存储环节也发挥着重要的作用。 今天大数据入门的共享主要介绍HDFS分布式文件管理系统。
一、HDFS文件管理系统根据物理存储的形式,数据存储分为集中式存储和分布式存储。 集中式存储以传统存储阵列(传统存储)为主,分布式存储(云存储)以软件定义存储为主。
传统存储:以可靠、稳定、功能丰富著称,但同时传统存储也暴露出横向可扩展性差、价格昂贵、数据交互困难等不足,容易形成数据孤岛
分布式存储:将数据分布并存储在网络上的多个独立设备上,通常使用网络与标准x86服务器互连,并在其上运行相关的存储软件。 系统对外作为一个整体提供存储服务。
如果数据量增加,无法保存在一个OS管辖的范围内,则会分配给更多OS管理的磁盘,但由于管理和维护不便,需要管理多台机器上的文件的系统。 这就是分布式文件管理系统。
典型的分布式文件系统包括GFS、HDFS、Lustre、Ceph、GridFS、mogileFS、TFS、FastDFS等,而HDFS作为Hadoop的核心组件之一,在市场上处于主流地位
http://www.Sina.com/http://www.Sina.com /
)1)高容错能力。 数据自动保存多个副本。 增加拷贝格式可以提高容错能力,如果丢失了一个拷贝,可以自动恢复。
)2)适用于大数据、文件处理。
)3)采用流媒体数据访问方式,一次多次读取,读取的数据只能添加,不能修改。
)4)可以导入廉价的机器。
二、HDFS文件系统的特点
)1)不适合低等待时间数据访问,而在对等待时间要求毫秒级的APP应用中不适合采用HDFS。 HDFS是为高吞吐量数据传输而设计的,因此可能会牺牲延迟。 HBase适合低延迟数据访问。
)2)无法高效保存大量小文件。 文件的元数据(如目录结构、文件block的节点列表和block-node mapping )存储在NameNode内存中,并且整个文件系统中的文件数受NameNode内存大小的限制。
)3)无法支持同时写入。 一个文件只能写入一个,多个线程不能同时写入。
)4)不支持文件随机修改,仅支持添加文件。
优点:命令行交互主要在hadoop fs上操作。
缺点:
#显示根目录下的所有文件和目录
hadoop fs-ls/
#递归显示根目录下的所有文件和目录
hadoop fs-ls-R/
三、HDFS文件系统常用命令
#hdfs dfs-put本地文件路径HDFS路径
hdfs dfs-put ceshi.txt/opt/data
copyFromLocal命令还用于上载文件
HD fsdfs-copy from local./ceshi.txt/opt/data
1、显示目录信息
HD fsdfs-get/opt/data/ceshi.txt/usr/local
也可以使用copyToLocal命令从HDFS中的路径本地复制
HD fsdfs-copy to local/opt/data/ceshi.txt/usr/local
2、将本地文件或目录上传到HDFS
不允许在文件系统之间移动文件。
HD fsdfs-mv/opt/data/ceshi.txt/opt/local
3、将文件或目录从HDFS中的路径拷贝到本地
HD fsdfs-CP [-f ] [-p|- p [ topax ] ] uri [ uri…] dest
选项:
-f选项复盖已存在的目标。
-p选项保存文件属性[topx] (时间戳、所有权、权限、ACL、XAttr )。
4、将文件或目录从HDFS的源路径移动到目标路径
HD fsdfs-RM [-f ] [-r|- r ] [-skiptrash ] uri […]
选项:
如果文件不存在,-f选项不显示诊断消息,也不更改退出状态以反映错误。
-R选项递归删除目录及其下的所有内容。
-r选项与-r等效。
如果启用了-skipTrash选项,则绕过回收站并立即删除指定的文件。 如果需要从配额目录中删除文件,这将非常有用。
5、将文件或目录复制到目标路径下
Hadoop fs-appendtofilelocalsrc . dst
Hadoop fs-append to file./ce.txt/opt/data/ceshi.txt
6、删除一个文件或目录
7、追加一个文件到已存在的文件末尾
8、显示文件内容-cat
将HDFS/opt/data目录中的文件合并为hb.txt文件并将其下载到本地
Hadoop DFS-get merge/opt/data/HB.txt
合并的文件位于当前目录中,而不在hdfs中。 是本地文件。
9、显示文件的末尾-tail
10、合并下载多个文件
hdfs dfs-du/opt/data/
HDFS作为Hadoop原生核心组件之一,也是大数据学习的关键,分布式文件管理系统HDFS需要深入的理解和掌握。