操作名称:shell全面操作HDFS实验
实验介绍
下面将使用HDFS的shell完成对HDFS的基本操作
知识点
- Hadoop
- Linux
集群安装
完成Hdfs命令操作需要以下相关知识
- Hadoop
- 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 …] |
操作前准备
- 安装Hadoop集群
下面开始进行操作。
HDFS 操作步骤
- 启动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 ~]#
- 查看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 ~]#
- 上传文件到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]#
- 查看HDFS 根下面testfile文件内容
[root@linux1 test]# ${HADOOP_HOME}/bin/hadoop fs -cat /testfile
hello hadoop
[root@linux1 test]#
- 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]#
- 移动文件,把/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
- 复制文件,把/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]#
- 文件下载,把/testfile下载到linux本地/root下面
${HADOOP_HOME}/bin/hadoop fs -get /testfile /root
[root@linux1 ~]# cat /root/testfile
hello hadoop
-
删除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…