Hdfs是Hadoop Distributed File System(Hadoop分布式文件系统)的缩写,是Hadoop家族中一个十分重要的组件,也是学习Hadoop的重要一步且十分关键的一步,因为你所编写的MapReduce是处理hdfs上的数据,所以第一步就是将你的各种数据上传到hdfs中,那么我们就要用到一些常用的hdfs命令。
下面简要介绍一下Hdfs几个常用的命令。由于Hdfs不是天生的Unix文件系统,不支持标准的Unix shell命令,但是确提供一套类似Unix命令操作Hdfs文件系统和本地文件系统。以下假设位置在hadoop安装文件bin目录下。
<1>基本命令格式 hadoop fs -cmd <args>
其中cmd是具体的命令,通常与Unix对应的命令相同。(在早期版本中fs由dfs替代,其实两者等价,可以使用dfs形式,但是现在基本使用fs较多)
<2>建立文件夹 hadoop fs -mkdir 文件夹路径/名称(默认在当前工作目录中创建文件夹)
根据你配置文件信息,用户默认的当前工作目录为/user/$USERNAME,其中USERNAME是你的登陆用户名。例如我在Unbuntu中的登陆用户名为hadoop,则hdfs在格式化的时候会默认一个当前工作目录(也可以理解为根目录)为/user/hadoop,但是hdfs不会自动创建,所以你要使用使用该命令自己创建一个当前工作目录。
<3>查看文件列表 hadoop fs -ls
<4>显示文件内容 hadoop fs -cat 文件路径/名称
<5>复制本地文件到hdfs hadoop fs -put 本地文件路径/名称 指定的hdfs文件系统路径
这样你就能够将你的本地文件路径复制到你指定的hdfs的文件下面了。
<6>复制hdfs文件到本地目录 hadoop fs -get hdfs文件路径/文件 本地文件路径
<7>删除hdfs上文件 hadoop fs -rm 文件路径/文件名称
<8>使用帮助 hadoop -help 命令
总结:以上总结了记个最常使用的hdfs命令,可能还有许多命令没能总结到,但是请记住一点,hdfs命令的格式基本上和Unix命令一样,在不明确使用的时候可以查看帮助,这样你基本上就能像操作Unix系统一样操作hdfs了。