- HDFS基本 *** 作
- 1、Shell命令行客户端
- 2、Shell常用命令介绍
- 2.1 基本 *** 作
- 2.2 上传
- 2.3 下载
Hadoop提供了文件系统的shell命令行客户端,使用方法如下:
hadoop fs
文件系统shell包括与Hadoop分布式文件系统(HDFS) 以及Hadoop支持的其他文件系统(如本地FS, HFTP FS, S3 FS 等)直接交互的各种类似shell的命令。所有FS shell 命令都将路径URI作为参数。
URI格式为scheme://authority/path。对于HDFS,该scheme是hdfs,对于本地FS,该scheme是file. scheme 和authority是可选的。如果未指定,则使用配置中指定的默认方案。
对于HDFS,命令示例如下:
hadoop fs -ls hdfs://namenode: host/parent/child
hadoop fs -ls /parent/child fs. defaultFS中有配置
root@master ~]# hadoop fs -ls hdfs://hadoop102:8020/ Found 3 items drwxr-xr-x - root supergroup 0 2019-11-25 21:55 hdfs://master:9000/hello drwx------ - root supergroup 0 2019-11-25 21:59 hdfs://master:9000/tmp drwxr-xr-x - root supergroup 0 2019-11-25 21:59 hdfs://master:9000/user [root@master ~]# hadoop fs -ls / Found 3 items drwxr-xr-x - root supergroup 0 2019-11-25 21:55 /hello drwx------ - root supergroup 0 2019-11-25 21:59 /tmp drwxr-xr-x - root supergroup 0 2019-11-25 21:59 /user [root@master ~]# hdfs dfs -ls / Found 3 items drwxr-xr-x - root supergroup 0 2019-11-25 21:55 /hello drwx------ - root supergroup 0 2019-11-25 21:59 /tmp drwxr-xr-x - root supergroup 0 2019-11-25 21:59 /user
对于本地文件系统,命令示例如下:
hadoop fs -Is file:///home/hadoop/
如果使用的文件系统是HDFS,则使用hdfs dfs也是可以的,此时
hadoop fs = hdfs dfs
2、Shell常用命令介绍 2.1 基本 *** 作-
-ls
使用方法:
hadoop fs -ls [-h] [-R]
功能:显示文件、目录信息。
示例:hadoop fs -ls /user/hadoop/file
-R递归,路径及子路径文件目录显示;
-h 人性化,。。。Kb/Mb.
-
-cat
使用方法:
hadoop fs -cat [-ignorecrc] URI [URI ...]
功能L显示文件内容到stdout
示例:
hadoop fs -cat /hadoop/hadoopfile
-
-tail
使用方法: hadoop fs -tail [-f] URI
功能:将文件的最后千字节内容 显示到stdout.
-f选项将在文件增长时输出附加数据。
示例: hadoop fs -tail /hadoop/ hadoopfile -
-chgrp
使用方法: hadoop fs -chgrp [-R] GROUP URI [URI …]
功能:更改文件组的关联。用户必须是文件的所有者,否则是超级用户。
-R将使改变在目录结构下递归进行。
示例:hadoop fs -chgrp -R hadoop /input
-
-chmod
功能:改变文件的权限。使用R将使改变在目录结构下递归进行。
示例: hadoop fs -chmod 666 /hadoop/ hadoopfile[root@localhost sbin]# hadoop fs -ls / Found 5 items -rw-r--r-- 2 root supergroup 11 2019-12-21 11:25 /1.txt drwxr-xr-x - root supergroup 0 2019-11-25 21:55 /hello -rw-r--r-- 2 root supergroup 1858 2019-12-21 11:11 /initial-setup-ks.cfg drwx------ - root supergroup 0 2019-11-25 21:59 /tmp drwxr-xr-x - root supergroup 0 2019-11-25 21:59 /user [root@localhost sbin]# hadoop fs -chmod 777 /1.txt [root@localhost sbin]# hadoop fs -ls / Found 5 items -rwxrwxrwx 2 root supergroup 11 2019-12-21 11:25 /1.txt drwxr-xr-x - root supergroup 0 2019-11-25 21:55 /hello -rw-r--r-- 2 root supergroup 1858 2019-12-21 11:11 /initial-setup-ks.cfg drwx------ - root supergroup 0 2019-11-25 21:59 /tmp drwxr-xr-x - root supergroup 0 2019-11-25 21:59 /user
-
-chown
功能:改变文件的拥有者,使用-R将使改变在目录结构下递归进行。示例:
hadoop fs -chown hadoop:hadoop /hadoop/hadoopfile
-
-mkdir
使用方法:hadoop fs -mkdir [-p]
功能:在hdfs上创建目录,p表示会创建路径中的各级父目录。
示例:hadoop fs -mkdir -p /user/hadoop/dir1
-
-cp
功能:从hdfs的一个路径拷贝hdfs的另一个路径
示例:
#复制并改名 hadoop fs -cp /aaa/jdk.tar.gz /bbb/jdk.tar.gz.2 #复制 hadoop fs -cp /aaa/jdk.tar.gz /bbb/
-
-mv
功能:在hdfs目录中移动文件
示例:
hadoop fs -mv /aaa/jdk.tar.gz /
-
-rm
功能:删除指定的文件。只删除非空目录和文件。-r递归删除。
示例:
hadoop fs -rm -r /aaa/bbb/
-
-df
功能:统计文件系统的可用空间信息
示例:
hadoop fs -df -h /
-
-du
功能:显示目录中所有文件的大小,当只指定一个文件时,显示此文件的大小。
示例:
hadoop fs -du /user/hadoop/dir1
-
-setrep
功能:改变一个文件的副本系数。-R 选项用于递归改变目录下所有文件的副本系数。
示例:
hadoop fs -setrep -w 3 -R /user/hadoop/dir1
-
-put
使用方法:hadoop fs -put [-f] [-p] [ -|
.. ]. 功能:将单个src或多个srcs从本地文件系统复制到目标文件系统。
保留访间和修改时间,所有权和权限。
-f: 覆盖目的地(如果已经存在)
示例: hadoop fs -put -f localfilel localfile2 /user/hadoop/ hadoopdirhadoop fs -put /root/initial-setup-ks.cfg / hadoop fs -ls -h / Found 4 items drwxr-xr-x - root supergroup 0 2019-11-25 21:55 /hello -rw-r--r-- 2 root supergroup 1.8 K 2019-12-21 11:11 /initial-setup-ks.cfg drwx------ - root supergroup 0 2019-11-25 21:59 /tmp drwxr-xr-x - root supergroup 0 2019-11-25 21:59 /user
-
-copyFromLocal
使用方法:hadoop fs -copyFromLocal URI
功能:从本地文件系统中拷贝文件到hdfs路径去
示例:
hadoop fs -copyFromLocal /root/1.txt /
-
-moveFromLocal:从本地剪切粘贴到HDFS
hadoop fs -moveFromLocal input/ /
-
-appendToFile
使用方法: hadoop fs -appendToFile …
功能:追加一个文件到已经存在的文件末尾示例:hadoop fs -appendToFile localfile /hadoop/hadoopfile
[root@master test]# echo 11111111 1.txt [root@master test]# echo 2 > 2.txt root@master test]# hadoop fs -put 1.txt / [root@master test]# hadoop fs -ls / Found 5 items -rw-r--r-- 2 root supergroup 9 2019-12-21 11:23 /1.txt drwxr-xr-x - root supergroup 0 2019-11-25 21:55 /hello -rw-r--r-- 2 root supergroup 1858 2019-12-21 11:11 /initial-setup-ks.cfg drwx------ - root supergroup 0 2019-11-25 21:59 /tmp drwxr-xr-x - root supergroup 0 2019-11-25 21:59 /user [root@master test]# hadoop fs -cat /1.txt 11111111 [root@master test]# hadoop fs -appendToFile 2.txt /1.txt [root@master test]# hadoop fs -cat /1.txt 11111111 2
-
-copyToLocal
功能:从hdfs拷贝到本地
示例:
hadoop fs -copyToLocal /aaa/jdk.tar.gz /home/hadoop/
-
-get
使用方法:
hadoop fs -get [-ignorecrc] [-erc] [-p] [-f]
-ignoreere:跳过对下载文件的CRC检查。
-crc:为下载的文件写CRC校验和。
功能:将文件复制到本地文件系统。
示例: hadoop fs -get hdfs://host : port/user/hadoop/file localfile[root@master ~]# mkdir test/ [root@master ~]# cd test/ [root@master test]# hadoop fs -get /initial-setup-ks.cfg ./ [root@master test]# ls initial-setup-ks.cfg
-
-getmerge
功能:合并下载多个文件
示例:比如hdfs的目录/aaa/下有多个文件:log.1,log.2,log.3…
hadoop fs -getmerge /aaa/log.* ./log.sum
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)