第二节:Hadoop HDFS命令¶
本节所有命令¶
| 命令 | 说明 |
|---|---|
| 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.start-all.sh启动Hadoop Multi-Node Cluster
二、创建与查看HDFS目录¶
# 创建user目录
hadoop fs -mkdir /user
# 在user目录下,创建hduser子目录
hadoop fs -mkdir /user/hduser
# 在hduser目录下,创建test子目录
hadoop fs -mkdir /user/hduser/test
# 查看之前创建的HDFS目录
hadoop fs -ls
# 查看HDFS根目录
hadoop fs -ls /
# 查看HDFS的/user目录
# 查看HDFS的/user/hduser目录
hadoop fs -ls /user/hduser
# 查看所有HDFS子目录
# 一次查看所有子目录
hadoop fs -ls -R /
#创建多级HDFS子目录
hadoop fs -p /dir1/dir2/dir3
# 查看所有HDFS子目录
hadoop fs -ls -R /
三、从本地计算机复制文件到HDFS¶
# 复制本地文件到HDFS目录
hadoop fs -copyFromLocal /usr/local/hadoop/README.txt /user/hduser/test
# 复制本地文件到HDFS目录的test.txt
hadoop fs -copyFromLocal /usr/local/hadoop/README.txt /user/hduser/test/test1.txt
# 列出HDFS目录下的文件
hadoop fs -ls /user/hduser/test
# 列出HDFS目录下的文件内容
hadoop fs -cat /user/hduser/test/README.txt
# 针对大文件,不一次显示,分多页显示,使用|more命令.
hadoop fs -cat /user/hduser/test/README.txt|more
# 强制复制本地文件到HDFS的目录
hadoop fs -copyFromLocal -f /usr/local/hadoop/README.txt /user/hduser/test
# 复制多个本地文件到HDFS目录
hadoop fs -copyFromLocal /usr/local/hadoop/NOTICE.txt /usr/local/hadoop/LICENSE.txt /user/hduser/test
# 复制目录到HDFS目录
hadoop fs -copyFromLocal /usr/local/hadoop/etc /user/hduser/test
# 列出HDFS目录下的文件
hadoop fs -ls /user/hduser/test
# 使用put复制文件到HDFS目录,会直接覆盖文件
hadoop fs -put /usr/local/hadoop/README.txt /user/hduser/test/test2.txt
# 将原本显示在屏幕上的内容存储到HDFS文件,“|”即pipe管道
echo abc | hadoop fs -put - /usr/hduser/test/echoin.txt
# 显示在HDFS的文件echion.txt的内容
hadoop fs -cat /usr/hduser/test/echoin.txt
# 本地目录的列表存储HDFS文件
ls /usr/local/hadoop | hadoop fs -put - /usr/hduser/test/hadooplist.txt
# 显示HDFS的文件hadooplist.txt
hadoop fs -cat /user/hduser/test/hadooplist.txt
四、将HDFS上的文件复制到本地计算机¶
# 本地计算机创建test测试目录
mkdir test
# 切换到test目录
cd test
# 查看本地目录
ll
# 将整个目录上的目录复制到本地计算机
hadoop fs -copyToLocal /user/hduser/test/etc
# 将HDFS上的文件复制到本地计算机
hadoop fs -get /user/hduser/test/README.txt localREADME.txt
五、复制与删除HDFS文件¶
# 在HDFS上创建测试目录/user/hduser/test/temp
hadoop fs -nkdir /user/hduser/test/temp
# 复制HDFS文件到HDFS测试目录
hadoop fs -cp /user/hduser/test/README.txt /user/hduser/test/temp
# 查看HDFS测试目录
hadoop fs -ls /user/hduser/test/temp
# 先查看准备要被删除的文件
hadoop fs -ls /user/hduser/test
# 删除HDFS文件
hadoop fs -rm /user/hduser/test/test2.txt
# 查看准备要被删除的HDFS目录
hadoop fs -ls /user/hduser/test
# 删除HDFS目录
hadoop fs -rm -R /user/hduser/test/etc