HADOOP-HDFS常见命令

232 阅读2分钟

操作名称:shell全面操作HDFS实验

实验介绍

下面将使用HDFS的shell完成对HDFS的基本操作

知识点

  • Hadoop
  • Linux

集群安装

完成Hdfs命令操作需要以下相关知识

  1. Hadoop
  2. Hadoop HDFS Shell
命令介绍语法
ls查看文件目录hadoop fs -ls
cat查看文件内容hadoop fs -cat URI [URI …]
mkdir创建文件hadoop fs -mkdir
mv移动文件hadoop fs -mv URI [URI …]
cp复制文件hadoop fs -cp URI [URI …]
put文件上传hadoop fs -put ...
get文件下载hadoop fs -get [-ignorecrc] [-crc]
rm文件删除hadoop fs -rm URI [URI …]

操作前准备

  1. 安装Hadoop集群

下面开始进行操作。

HDFS 操作步骤

  1. 启动Hadoop集群
[root@linux1 ~]#${HADOOP_HOME}/sbin/start-dfs.sh 
20/05/18 11:23:10 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Starting namenodes on [linux1]
linux1: starting namenode, logging to /root/apps/hadoop-2.7.7/logs/hadoop-root-namenode-linux1.out
linux2: starting datanode, logging to /root/apps/hadoop-2.7.7/logs/hadoop-root-datanode-linux2.out
linux3: starting datanode, logging to /root/apps/hadoop-2.7.7/logs/hadoop-root-datanode-linux3.out
Starting secondary namenodes [0.0.0.0]
0.0.0.0: starting secondarynamenode, logging to /root/apps/hadoop-2.7.7/logs/hadoop-root-secondarynamenode-linux1.out
20/05/18 11:23:30 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
[root@linux1 ~]# 
  1. 查看HDFS根目录下的所有文件
[root@linux1 ~]# ${HADOOP_HOME}/bin/hadoop fs -ls /
Found 2 items
drwxr-xr-x   - root supergroup          0 2020-05-07 16:05 /a
drwxr-xr-x   - root supergroup          0 2020-05-18 07:57 /hbase
[root@linux1 ~]# 
  1. 上传文件到HDFS
[root@linux1 ~]# mkdir /root/test
[root@linux1 ~]# cd /root/test
[root@linux1 test]# ll
总用量 0
[root@linux1 test]# echo "hello hadoop" > testfile
[root@linux1 test]# ll
总用量 4
-rw-r--r--. 1 root root 13 5月  18 20:46 testfile
[root@linux1 test]# cat ./testfile 
hello hadoop
[root@linux1 test]# 
[root@linux1 test]# ${HADOOP_HOME}/bin/hadoop fs -put ./testfile  /
[root@linux1 test]# 
[root@linux1 test]# ${HADOOP_HOME}/bin/hadoop fs -ls /
-rw-r--r--   3 root supergroup         13 2020-05-18 20:49 /testfile
[root@linux1 test]# 
  1. 查看HDFS 根下面testfile文件内容
[root@linux1 test]# ${HADOOP_HOME}/bin/hadoop fs -cat /testfile
hello hadoop
[root@linux1 test]# 
  1. HDFS创建文件夹
[root@linux1 test]# ${HADOOP_HOME}/bin/hadoop fs -mkdir /newfolder
[root@linux1 test]# ${HADOOP_HOME}/bin/hadoop fs -ls /
Found 4 items
drwxr-xr-x   - root supergroup          0 2020-05-18 20:57 /newfolder
-rw-r--r--   3 root supergroup         13 2020-05-18 20:49 /testfile
[root@linux1 test]# 
  1. 移动文件,把/testfile移动到/newfolder里面
[root@linux1 test]# ${HADOOP_HOME}/bin/hadoop fs -ls /
Found 2 items
drwxr-xr-x   - root supergroup          0 2020-05-18 20:57 /newfolder
-rw-r--r--   3 root supergroup         13 2020-05-18 20:49 /testfile
[root@linux1 test]#${HADOOP_HOME}/bin/hadoop fs -mv /testfile /newfolder
${HADOOP_HOME}/bin/hadoop fs -ls /newfolder
Found 1 items
-rw-r--r--   3 root supergroup         13 2020-05-18 20:49 /newfolder/testfile
  1. 复制文件,把/newfolder/testfile复制到根目录
[root@linux1 test]# ${HADOOP_HOME}/bin/hadoop fs -cp  /newfolder/testfile /
[root@linux1 test]# ${HADOOP_HOME}/bin/hadoop fs -ls /
Found 2 items
drwxr-xr-x   - root supergroup          0 2020-05-18 21:02 /newfolder
-rw-r--r--   3 root supergroup         13 2020-05-18 21:06 /testfile
[root@linux1 test]# 
  1. 文件下载,把/testfile下载到linux本地/root下面
${HADOOP_HOME}/bin/hadoop fs -get /testfile /root
[root@linux1 ~]# cat /root/testfile 
hello hadoop
  1. 删除HDFS文件/testfile文件

 [root@linux1 ~]# ${HADOOP_HOME}/bin/hadoop fs -ls /
 Found 2 items
 drwxr-xr-x   - root supergroup          0 2020-05-18 21:02 /newfolder
 -rw-r--r--   3 root supergroup         13 2020-05-18 21:06 /testfile
 [root@linux1 ~]#  ${HADOOP_HOME}/bin/hadoop fs -rm /testfile
 [root@linux1 ~]# ${HADOOP_HOME}/bin/hadoop fs -ls /
 Found 1 items
 drwxr-xr-x   - root supergroup          0 2020-05-18 21:02 /newfolder

总结

启动hadoop集群,执行命令查看执行结果 。我们在执行命令的时候发现一个规律,几乎所有的命令和linux差不多,只是前面加了一个“-”。

有关其他学习请进入: juejin.cn/user/175884…