大数据之HDFS命令行基本操作
Posted 江苏万和IT教育
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据之HDFS命令行基本操作相关的知识,希望对你有一定的参考价值。
1、 课程简介
HDFS是Hadoop大数据平台中的分布式文件系统,为上层应用或其他大数据组件提供数据存储,如Hive,Mapreduce,Spark,HBase等。
本文章中所有命令均在CentOS-6.4-x86_64,hadoop-2.5.2,jdk1.8.0_152,zookeeper-3.4.11中运行通过,为减少linux权限对初学者造成影响,所有命令均在linux的root权限下进行操作。
2、理论回顾
Hadoop技术本身包含HDFS、Map/Reduce。HDFS作海量数据存储之用;M/R作海量数据计算之用。
HDFS包含namenode、datanode。namenode对datanode中的数据建立了索引。
zookeeper作为协调服务,为namenode提供了高可用性。
3、基本操作
注意:"# ./hdfs dfs -ls /"命令前的"#"代表当前登录用户是root。运行路径位于hadoop目录中的bin文件夹下。命令中的"."代表当前目
录。命令中涉及的info文件需要提前创建好。如下图所示:
3.1 -ls 功能:显示目录信息。
1# ./hdfs dfs -ls /
2drwxr-xr-x - root supergroup 0 2018-07-30 00:09 /hbase
3drwxr-xr-x - root supergroup 0 2018-06-23 15:22 /output
4drwx------ - root supergroup 0 2018-07-31 00:32 /tmp
5drwxr-xr-x - root supergroup 0 2018-07-31 00:41 /user
6-rw-r--r-- 2 root supergroup 77 2018-04-22 02:34 /wordcount
3.2 -mkdir 功能:在HDFS文件系统上创建目录。
1# ./hdfs dfs -mkdir /wanhe
2# ./hdfs dfs -ls /
3drwxr-xr-x - root supergroup 0 2018-07-30 00:09 /hbase
4drwxr-xr-x - root supergroup 0 2018-06-23 15:22 /output
5drwx------ - root supergroup 0 2018-07-31 00:32 /tmp
6drwxr-xr-x - root supergroup 0 2018-07-31 00:41 /user
7drwxr-xr-x - root supergroup 0 2018-09-12 18:00 /wanhe
8-rw-r--r-- 2 root supergroup 77 2018-04-22 02:34 /wordcount
3.3 -put 功能:上传本地文件到HDFS指定目录。
1# ./hdfs dfs -put info /wanhe
2# ./hdfs dfs -ls /wanhe
3-rw-r--r-- 2 root supergroup 38 2018-09-12 18:10 /wanhe/info
3.4 -get 功能:从hdfs下载文件到本地。
1# rm -rf info
2# ls
3container-executor hadoop hadoop.cmd hdfs hdfs.cmd mapred mapred.cmd rcc test-container-executor yarn yarn.cmd
4# ./hdfs dfs -get /wanhe/info ./
5# ls
6container-executor hadoop hadoop.cmd hdfs hdfs.cmd info mapred mapred.cmd rcc test-container-executor yarn yarn.cmd
3.5 -rm 功能:从HDFS删除文件。
1# ./hdfs dfs -rm /wanhe/info
2# ./hdfs dfs -ls /wanhe
3.6 -moveFromLocal 功能:剪切本地文件到HDFS
1# ./hdfs dfs -moveFromLocal info /wanhe
2# ./hdfs dfs -ls /wanhe
3-rw-r--r-- 2 root supergroup 38 2018-09-12 22:04 /wanhe/info
4# ls
5container-executor hadoop hadoop.cmd hdfs hdfs.cmd mapred mapred.cmd rcc test-container-executor yarn yarn.cmd
3.7 -cat 功能:显示文件内容。
1 # ./hdfs dfs -cat /wanhe/info
2 jiangsuwanhe
3.8 -appendToFile 功能:在文件末尾追加数据。
1# ./hdfs dfs -appendToFile info /wanhe/info
2 # ./hdfs dfs -cat /wanhe/info
3 jiangsuwanhe
4 jiangsuwanhe
3.9 -chmod 功能:更改文件所属权限。
1# ./hdfs dfs -ls /wanhe
2-rw-r--r-- 2 root supergroup 51 2018-09-12 22:13 /wanhe/info
3# ./hdfs dfs -chmod 777 /wanhe/info
4# ./hdfs dfs -ls /wanhe
5-rwxrwxrwx 2 root supergroup 51 2018-09-12 22:13 /wanhe/info
3.10 -cp 功能:实现文件的拷贝。
1将/wanhe/info拷贝到/tmp下:
2# ./hdfs dfs -cp /wanhe/info /tmp/
3# ./hdfs dfs -ls /tmp
4-rw-r--r-- 2 root supergroup 51 2018-09-12 22:20 /tmp/info
3.11 -mv 功能:移动文件。
1将/wanhe/info移动到 /user下
2# ./hdfs dfs -mv /wanhe/info /user/
3# ./hdfs dfs -ls /wanhe
4空
5# ./hdfs dfs -ls /user
6-rwxrwxrwx 2 root supergroup 51 2018-09-12 22:13 /user/info
3.12 -df 功能:统计文件系统的可用空间信息。
1# ./hdfs dfs -df -h /
2Filesystem Size Used Available Use%
3hdfs://master:9000 17.5 G 352 K 11.4 G 0%
3.13 -du 功能:统计文件夹的大小信息。
1# ./hdfs dfs -du /user
251 /user/info
3.14 -count 功能: 统计一个指定目录下的文件数量。
1# ./hdfs dfs -count /user
2 2 1 51 /user
3 第一列2表示/user/下文件夹的数量,第二列1表示/user/下文件的个数。51表示/user/目录下所有文件占用的磁盘容量(不计算副本个数)。
第一列2表示/user/下文件夹的数量,第二列1表示/user/下文件的个数。51表示/user/目录下所有文件占用的磁盘容量(不计算副本个数)。
4、总结
HDFS中的命令行操作类似于linux命令,熟练使用linux命令便可以熟练的使用命令行操作HDFS。后面我们将连载大数据系列博客,欢迎关注和交流。
点击阅读原文
了解更多
以上是关于大数据之HDFS命令行基本操作的主要内容,如果未能解决你的问题,请参考以下文章