详细 Hadoop HDFS命令 图文并茂
介绍在“终端”程序中使用的HDFS命令,对HDFS进行操作,以及Hadoop HDFS Web 接口。
HDFS命令格式如下:
Hadoop fs -命令
命令在master虚拟机的“终端”程序中运行
命令 | 说明 |
---|---|
hadoop fs -mkdir | 创建 HDFS 目录 |
hadoop fs -ls | 列出 HDFS 目录 |
hadoop fs -copyFromLocal | 使用 -copyFromLocal 复制本地(local)文件到 HDFS |
hadoop fs -put | 使用 -put 复制本地(local)文件到 HDFS |
hadoop fs -cat | 列出 HDFS 目录下的文件内容 |
hadoop fs -copyToLocal | 使用 -copyToLocal 将 HDFS 上的文件复制到本地(local) |
hadoop fs -get | 使用 -get 将 HDFS 上的文件复制到本地(local) |
hadoop fs -cp | 复制 HDFS 文件 |
hadoop fs -rm | 删除 HDFS 文件 |
启动 Hadoop Multi-Node Cluster
1、启动所有虚拟服务器
首先必须要启动所有虚拟服务器master、data1、data2、data3.
2、进入master虚拟服务器,启动 Hadoop Mulit-Node Cluster
2.1 启动Hadoop Mulit-Node Cluster
start-all.sh
创建与查看 HDFS 目录
1、创建 HDFS 目录
1.1 创建user目录
hadoop fs -mkdir /user
1.2 在user目录下创建hduser子目录
hadoop fs -mkdir /user/hduser
1.3 在hduser目录下创建test子目录
hadoop fs -mkdir /user/hduser/test
2、查看用户 HDFS 目录
2.1 查看之前创建的 HDFS 目录
hadoop fs -ls
2.2 查看 HDFS 完整目录
在“终端”程序中输入下列命令,查看之前创建的完整 HDFS 目录。因为hadoop fs -ls只能查看一级目录,所以必须逐级查看。
2.2.1 查看 HDFS 根目录
hadoop fs -ls /
2.2.2 查看 HDFS 的 /user 目录
hadoop fs -ls /user
2.2.3 查看 HDFS 的 /user/hduser 目录
hadoop fs -ls /user/hduser
2.3 查看所有 HDFS 子目录
HDFS 提供了一个方便的选项,我们可以加上 -R ,R代表recursive(递归)。
2.3.1 一次查看所有子目录
hadoop fs -ls -R /
2.4 一次创建所有 HDFS 子目录
当我们创建目录时,如果要逐级地创建也很麻烦,所以 HDFS 提供了 -p 选项,可以帮助用户一次创建多级目录。
2.4.1 创建多级 HDFS 目录
hadoop fs -mkdir -p /dir1/dir2/dir3
2.4.2 查看所有 HDFS 子目录
hadoop fs -ls -R /
从本地计算机复制文件到 HDFS
1、复制本地(local)文件到 HDFS
使用下列命令复制本地(local)文件到 HDFS:
1.2 复制本地文件到 HDFS 的目录
hadoop fs -copyFromLocal /usr/local/hadoop/README.txt /user/hduser/test
1.2 复制本地文件到 HDFS 的目录的 test1.txt
hadoop fs -copyFromLocal /usr/local/hadoop/README.txt /user/hduser/test/test1.txt
1.3 列出 HDFS 目录下的文件
hadoop fs -ls /user/hduser/test
2、 列出 HDFS 目录下的文件
2.1 列出 HDFS 目录下的文件内容
hadoop fs -cat /user/hduser/test/README.txt
上述命令会一次列出所有文件内容。如果文件太大,可以加上“|more”,一页一页地显示。
hadoop fs -cat /user/hduser/test/README.txt|more
3、复制重复文件到 HDFS 目录
当我们复制本地文件到 HDFS 目录时,如果文件已经存在,系统会回复“File exists”,即文件已经存在,将不会复制。
hadoop fs -copyFromLocal /usr/local/hadoop/README.txt /user/hduser/test
4、强制复制重复文件到 HDFS 目录
如果文件已经存在,此时可以加入-f选择(f是force,有强制的意思)
4.1 强制复制文件
hadoop fs -copyFromLocal -f /usr/local/hadoop/README.txt /user/hduser/test
5、复制多个本地文件到 HDFS 目录
5.1 同时复制 NOTICE.txt 与LICENSE.txt 到 HDFS 目录 /user/hduser/test
hadoop fs -copyFromLocal /usr/local/hadoop/NOTICE.txt /usr/local/hadoop/LICENSE.txt /user/hduser/test
5.2 复制整个本地计算机的目录 /user/local/hadoop/ect 到 HDFS 目录 /user/hduser/test
hadoop fs -copyFromLocal /user/local/hadoop/ect /user/hduser/test
5.3 列出在 HDFS 目录下的文件
hadoop fs -l /user/hduser/test
6、查看目录下所有文件
6.1 列出 HDFS 目录/user/hduser/test/ect 下的所有文件
hadoop fs -ls -R /user/hduser/test/etc
7、使用 put 复制文件到 HDFS 目录
使用“-put”选项复制文件到 HDFS 目录。使用“-put”与“-copyFromLocal”的不同之处是:如果文件存在,系统不会显示文件存在,而会直接覆盖。
7.1 使用put复制文件到HDFS目录,会直接覆盖文件
hadoop fs -put /usr/local/hadoop/README.txt /user/hduser/test/test2.txt
另外一个使用 -put 与 -copyFromLocal 的不同之处是:“-put”可以接收 stdin(标准输入)。
7.2 将原本显示在屏幕上的内容存储到 HDFS 文件
echo abc | hadoop fs -put - /user/hduser/test/echoin.txt
echo abc 原本是要显示在屏幕上的内容,现在通过“|”(pipe管道)符号传递给 hadoop 的命令,并且存储到 HDFS 目录下的文件 echoin.txt中。
7.3 显示在 HDFS 中 echoin.txt 文件内容
hadoop fs -cat /user/hduser/test/echoin.txt
7.4 使用 put 命令将本地目录的列表存储到 HDFS 文件
7.4.1 将本地目录的列表存储到 HDFS 文件
ls /usr/local/hadoop | hadoop fs -put - /user/hduser/test/hadooplist.txt
原本 ls /usr/local/hadoop 命令会把本地目录的列表在屏幕上,通过“|”符号(pipe管道)传递给了 Hadoop 命令,所以最后会存储到 HDFS 目录下的 hadooplist.txt 文件中。
7.4.2 显示 HDFS 中 hadooplist.txt 文件的内容
hdoop fs -cat /user/hduser/test/hadooplist.txt
将 HDFS 上的文件复制到本地计算机
1、将 HDFS 上的文件复制到本地计算机(local)
1.1 在本地计算机创建test测试目录
mkdir test
1.2 切换到test目录
cd test
1.3 将 HDFS 的文件复制到本地计算机
hadoop fs -copyToLocal /user/hduser/test/hadooplist.txt
1.4查看本地目录
ll
2、将 HDFS 上的目录复制到本地计算机
2.1 将整个 HDFS 上的目录复制到本地计算机
hadoop fs -copyToLocal /user/hduser/test/etc
3、 hadoop fs -get 复制到本地计算机(local)
3.1 将 HDFS 上的文件复制到本地计算机(local)
hadoop fs -get /user/hduser/test/README.txt localREADME.txt
复制与删除 HDFS 文件
1、复制 HDFS 文件
1.1 在 HDFS 上创建测试目录 /user/hadoop/test/temp
hadoop fs -mkdir /user/hduser/test/temp
1.2 复制 HDFS 文件到 HDFS 测试目录
hadoop fs -cp /user/hduser/test/README.txt /user/hduser/test/temp
复制 HDFS 文件 /user/hduser/test/README.txt 到 HDFS 测试目录 /user/hadoop/test/temp
1.3 查看 HDFS 测试目录
hadoop fs -ls /user/hduser/test/temp
2、删除 HDFS 文件
2.1 先查看准备要被删除的文件
hadoop fs -ls /user/hduser/test
2.2 删除 HDFS 文件
hadoop fs -rm /user/hduser/test/test2.txt
3、删除 HDFS 目录
3.1 查看准备要被删除的 HDFS 目录
hadoop fs -ls /user/hduser/test
3.2 删除 HDFS 目录
hadoop fs -rm -R /user/hduser/test/etc
在 Hadoop HDFS Web 用户界面浏览 HDFS
1、浏览 Hadoop HDFS Web 界面查看 HDSF
网址 | 说明 |
---|---|
http://master:50070 | Hadoop HDFS Web 界面网址 |
2、输入完整的目录路径来查看文件
/dir1/dir2/dir3
3、查看 HDFS 文件的完整信息
4、下载 HDFS 文件
结论:
本篇主要是介绍了 Hadoop HDFS 分布式存储,并且在实际计算机上操作了 HDFS 常用命令。
er:50070 | Hadoop HDFS Web 界面网址 |
2、输入完整的目录路径来查看文件
/dir1/dir2/dir3
3、查看 HDFS 文件的完整信息
4、下载 HDFS 文件
结论:
本篇主要是介绍了 Hadoop HDFS 分布式存储,并且在实际计算机上操作了 HDFS 常用命令。