dfsadmin主要操作命令
dfsadmin [GENERIC_OPTIONS] [-report] [-safemode enter | leave | get | wait] [-refreshNodes] [-finalizeUpgrade] [-upgradeProgress status | details | force] [-metasave filename] [-setQuota …] [-clrQuota …] [-help [cmd]]
hdfs dfsadmin -report(查看hdfs基本信息)
hdfs dfsadmin -setQuota 3 /input (设置文件下文件(夹)个数,包括当前的)
hdfs dfsadmin -clrQuota /input 清除配额限定
hdfs dfsadmin -setSpaceQuota 2 /input (设置文件下文件(夹)个数,包括当前的)
hdfs dfsadmin -clrSpaceQuota /input 清除配额限定
hdfs dfsadmin –saveNamespace 保存内存信息到磁盘
hdfs dfsadmin –saveNamespace 保存内存信息到磁盘(必须安全模式)
hdfs dfsadmin –refreshNodes 比如新加节点 重新通信
hdfs dfsadmin –upgradeProgress status 升级信息
hdfs dfsadmin –finalizeUpgrade 停止升级
hdfs dfsadmin –metasave filename 存meta到本地文件
hdfs主要操作命令(以下命令设置了HADOOP_HOME就可以使用hadoop或者hdfs不需要再进入bin目录./hdfs)
appendToFile(追加一个或者多个文件到hdfs指定文件中,也可以从命令行读取输入)
hdfs dfs -appendToFile ...hdfs dfs -appendToFile localFile /hadoopFilehdfs dfs -appendToFile localFile1 localFile2 /hadoopFilehdfs dfs -appendToFile localFile1 localFile2 hdfs://115.28.103.54:9000/hadoopFilehdfs dfs -appendToFile - /hadoopFile (从终端输入)
实例
hdfs dfs-appendToFile/data/spark/spark-1.6.0-bin-hadoop2.6/CHANGES.txt/input/README.md(文件追加)
hdfs dfs-appendToFile/data/spark/spark-1.6.0-bin-hadoop2.6/CHANGES.txt/data/spark/spark-1.6.0-bin-hadoop2.6/README.md/input/README.md(多个文件追加)
hadoop dfs-appendToFile/data/spark/spark-1.6.0-bin-hadoop2.6/CHANGES.txt/input/README.md(文件追加)
hadoop dfs-appendToFile/data/spark/spark-1.6.0-bin-hadoop2.6/CHANGES.txt/data/spark/spark-1.6.0-bin-hadoop2.6/README.md/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 dfs -copyFromLocal URI
实例
hdfs dfs-copyFromLocal/data/spark/spark-1.6.0-bin-hadoop2.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 ...]
实例
hdfs dfs-du-s-h/input/CHANGES.txt/input/README.md
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
如果是目录,则返回它直接子文件的一个列表,就像在Unix中一样。目录返回列表的信息如下:
目录名修改日期修改时间权限用户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 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--setuser::rw-,user:hadoop:rw-,group::r--,other::r--/file
hdfs dfs-setfacl-R-m user:hadoop:r-x/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