Hadoop HDFS常用命令

HDFS简介

Hadoop 附带了一个名为 HDFS(Hadoop分布式文件系统)的分布式文件系统,基于 Hadoop 的应用程序使用 HDFS 。HDFS 是专为存储超大数据文件,运行在集群的商品硬件上。它是容错的,可伸缩的,并且非常易于扩展。

HDFS集群主要由 NameNode 管理文件系统 Metadata 和 DataNodes 存储的实际数据。

  • NameNode: NameNode可以被认为是系统的主站。它维护所有系统中存在的文件和目录的文件系统树和元数据 。 两个文件:“命名空间映像“和”编辑日志“是用来存储元数据信息。Namenode 有所有包含数据块为一个给定的文件中的数据节点的知识,但是不存储块的位置持续。从数据节点在系统每次启动时信息重构一次。
  • DataNode : DataNodes作为从机,每台机器位于一个集群中,并提供实际的存储. 它负责为客户读写请求服务。

HDFS中的读/写操作运行在块级。HDFS数据文件被分成块大小的块,这是作为独立的单元存储。默认块大小为64 MB。
HDFS操作上是数据复制的概念,其中在数据块的多个副本被创建,分布在整个节点的群集以使在节点故障的情况下数据的高可用性。

在HDFS的文件,比单个块小,不占用块的全部存储。

Hadoop fs 和Hadoop dfs 的区别

  1. fs是文件系统, dfs是分布式文件系统
  2. fs > dfs
  3. 分布式环境情况下,fs与dfs无区别
  4. 本地环境中,fs就是本地文件,dfs就不能用了

    fs涉及到一个通用的文件系统,可以指向任何的文件系统如local,HDFS等。但是DFS仅是针对HDFS的。那么什么时候用fs呢?可以在本地与hadoop分布式文件系统的交互操作中使用。特定的DFS指令与HDFS有关

HDFS常用命令

创建文件夹test     

1
hadoop fs -mkdir /test/

创建多层目录     

1
hadoop fs -mkdir -p /a/b

输出目录

1
hadoop fs -ls /

递归输出目录

1
hadoop fs -ls -R /

上传文件到HDFS

1
hadoop fs -put filename  /path

查看文件内容text

1
hadoop fs -text /path/filename

查看文件内容cat

1
hadoop fs -cat /path/filename

从HDFS下载到本地

1
hadoop fs -get /path/filename   newfilename

删除文件(不适合文件夹)

1
hadoop fs -rm /path/filename

删除文件夹(递归形式)

1
hadoop fs -rmr /path/filename

删除文件夹(递归形式2)

1
hadoop fs -rm -r /path/filename

具体其他命令可使用 hadoop fs 查找

如图

打赏

请我喝杯咖啡吧~

支付宝
微信