文章目录
dfsadmin主要操作命令
dfsadmin
[-report]
[-safemode enter | leave | get | wait]
[-refreshNodes]
[-finalizeUpgrade]
[-upgradeProgress status | details | force]
[-metasave filename]
[-setQuota …]
[-clrQuota …]
[-help [cmd]]
# 查看hdfs基本信息
hdfs dfsadmin -report
#设置文件下文件(夹)个数,包括当前的
hdfs dfsadmin -setQuota 3 /input
#清除配额限定
hdfs dfsadmin -clrQuota /input
#比如新加节点 重新通信
hdfs dfsadmin –refreshNodes
#升级信息
hdfs dfsadmin –upgradeProgress status
#停止升级
hdfs dfsadmin –finalizeUpgrade
#存meta到本地文件
hdfs dfsadmin –metasave filename
#(设置文件下文件(夹)个数,包括当前的)
hdfs dfsadmin -setSpaceQuota 2 /input
#清除配额限定
hdfs dfsadmin -clrSpaceQuota /input
#保存内存信息到磁盘
hdfs dfsadmin –saveNamespace
#保存内存信息到磁盘(必须安全模式)
hdfs dfsadmin –saveNamespace
hdfs主要操作命令
以下命令设置了HADOOP_HOME就可以使用hadoop或者hdfs不需要再进入bin目录./hdfs
-appendToFile
追加一个或者多个文件到hdfs指定文件中,也可以从命令行读取输入。
hdfs dfs -appendToFile ...
hdfs dfs -appendToFile localFile /hadoopFile
hdfs dfs -appendToFile localFile1 localFile2 /hadoopFile
hdfs dfs -appendToFile localFile1localFile2
hdfs://115.28.103.54:9000/hadoopFile
hdfs dfs -appendToFile - /hadoopFile (从终端输入)
实例
hdfs dfs-appendToFile /data/spark/spark-1.6.0 binhadoop2.6/CHANGES.txt/input/README.md(文件追加)
hdfs dfs-appendToFile/data/spark/spark-1.6.0-binhadoop2.6/CHANGES.txt/data/spark/spark-1.6.0-binhadoop2.6/README.md/input/README.md(多个文件追加)
hadoop dfs-appendToFile/data/spark/spark-1.6.0-binhadoop2.6/CHANGES.txt/input/README.md(文件追加)
hdfs dfs-appendToFile-/input/README.md(从命令行终端追加)
-cat
查看内容
hdfs dfs -cat URI[URI...]
实例
hdfs dfs-cat/data/spark/spark-1.6.0-bin-hadoop2.6/CHANGES.txt
hdfs dfs-cat/data/spark/spark-1.6.0-bin-hadoop2.6/CHANGES.txt/input/README.md(查看多个文件)
-chgrp
change group 修改所属组
hdfs dfs -chgrp [-R] GROUP URI[URI...] (-R表示递归 GROUP表示组名)
-chmod
修改权限
hdfs dfs -chmod [-R] URI[URI...] (-R表示递归 )
实例
hdfs dfs-chmod777/input/CHANGES.txt
-chown
修改所有者
hdfs dfs -chown [-R] [OWNER[:GROUP] URI[URI...] (-R表示递归 )
实例
hdfs dfs-chown root/input/CHANGES.txt
-copyFromLocal
复制到hdfs
hdfs dfs -copyFromLocal URI
实例
hdfs dfs-copyFromLocal/data/spark/spark-1.6.0-binhadoop2.6/CHANGES.txt/input/CHANGES.txt(文件已经存在则覆盖)
-copyToLocal
复制到本地
hdfs dfs -copyToLocal [-ignorecrc] [-cr] URI
实例
hdfs dfs-copyToLocal
-count
列出文件夹数量、文件数量、内容大小
hdfs dfs -count [-q] [-h]
实例
hdfs dfs-count-q-h/input
-cp
复制文件(夹),可以覆盖,可以保留原有权限信息
hdfs dfs -cp [-f] [-p|-p [topax]] URI[URI...] (-f强制覆盖 -p保留原有权限信息)
实例
hdfs dfs-cp/input/CHANGES.txt/input/README.md/output/
-du
显示文件(夹)大小
hdfs dfs -du [-s] [-h] URI [URI ...]
-dus
查看用户占用文件(夹)大小,已经被du -s代替
hdfs dfs -dus [-h] URI [URI ...]
实例
hdfs dfs-dus-h/input/
-expunge
清空回收站
hdfs dfs -expunge
实例
hdfs dfs-expunge
-get
把hdfs中数据下载到本地
hdfs dfs -get [-ignorecrc] [-crc] (ignorecrc下载数据不需要校验)
实例
hdfs dfs-get/input/README.md a.txt(下载README.md到本地并且重新命名为a.txt)
-getfacl
显示权限信息
hdfs dfs -getfacl [-R]
实例
hdfs dfs-getfacl/input/README.md
hdfs dfs-getfacl-R/input
-getfattr
显示其他信息
hdfs dfs -getfattr [-R] -n name | -d [-e en]
实例
hdfs dfs-getfattr-R-n user.owner/input
hdfs dfs-getfattr-d/input
hdfs dfs-getfattr-R-d/input
-getmerge
合并:把hdfs中的文件合并到本地中
hdfs dfs -getmerge [addnl]
实例
hdfs dfs-getmerge/input/README.md b.txt
hdfs dfs-getmerge/input/b.txt(将目录下多个文件合并到本地文件中)
-ls
显示文件目录
hdfs dfs -ls
实例
hdfs dfs-ls/
hdfs dfs-ls-R/
如果是文件,则按照如下格式返回文件信息:
文件名<副本数>文件大小修改日期修改时间权限用户ID组ID
目录名修改日期修改时间权限用户ID组ID
-lsr
ls的递归版本,已被ls -R 替代
hdfs dfs -ls
实例
hdfs dfs-lsr/
-mkdir
创建目录
hdfs dfs -mkdir [-p] (p和Linux系统效果一样)
实例
hdfs dfs-mkdir-p/test/test1/test/test2
-moveFromLocal
和put命令类似,但是源文件localsrc拷贝之后会被删除
hdfs dfs -moveFromLocal
实例
hdfs dfs-moveFromLocal b.txt/test/test1/
-moveToLocal
移动到本地,源文件被移除
hdfs dfs -moveToLocal [-crc]
-mv
移动
hdfs dfs -mv URI [URI ...]
实例
hdfs dfs-mv/output/CHANGES.txt/output/README.md/test/test2/
-put
上传到hdfs
hdfs dfs -put ...
实例
hdfs dfs-put c.txt d.txt/test/test2/
-rm
删除
hdfs dfs -rm [-f] [-r|-R] [-skipTrash] URI [URI ...] (f:是否确认 r:递归删除 skipTrash:直接
删除 )
实例
hdfs dfs-rm-r/test/
-setfacl
设置权限
hdfs dfs -setfacl [-R] [-b|-k -m|-x ]|[--set ]
实例
hdfs dfs-setfacl-m user:hadoop:rw-/file
hdfs dfs-setfacl-x user:hadoop/file
hdfs dfs-setfacl-b/file
hdfs dfs-setfacl-k/dir
hdfs dfs-setfacl-mdefault:user:hadoop:r-x/dir
-setfattr
hdfs dfs -setfattr -n name [-v value] | -x name ]
实例
hdfs dfs-setfattr-n user.myAttr-v myValue/file
hdfs dfs-setfattr-n user.noValue/file
hdfs dfs-setfattr-x user.myAttr/file
-setrep
修改副本数
hdfs dfs -setrep [-R] [-w] (w:等待复制完,比较花时间)
实例
hdfs dfs-setrep3/input/README.md
-stat
显示文件统计信息
hdfs dfs -stat URI [URI ...]
实例
hdfs dfs-stat/input/README.md
-tail
查看文件尾部信息,1k的数据
hdfs dfs -tail [-f] URI
实例
hdfs dfs-tail/input/README.md
-test
测试
hdfs dfs -test -[ezd] URI (e:判断文件是否存在 z:长度是否为0 d:是否是目录)
实例
hdfs dfs-test-e/input/README.md
hdfs dfs-test-z/input/README.md
hdfs dfs-test-d/input/README.md
-text
查看
hdfs dfs -text
实例
hdfs dfs-text/input/README.md
-touchz
创建一个大小为0的文件
hdfs dfs -touchz URI [URI ...]
实例
hdfs dfs-touchz/input/README2.md