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