HDFS教程(02)- HDFS命令汇总
文章目錄
- 01 引言
- 02 HDFS安裝
- 03 HDFS命令匯總
- 3.1 新增操作
- 3.1.1 創(chuàng)建文件夾(mkdir命令)
- 3.1.2 文件上傳(put命令)
- 3.1.3 文件復(fù)制(cp命令)
- 3.1.4 移動(dòng)文件(mv命令)
- 3.1.5 創(chuàng)建空文件(touchz命令)
- 3.2 刪除操作
- 3.2.1 刪除文件夾(rmdir命令)
- 3.2.2 刪除文件(rm命令)
- 3.2.3 清空回收站(expunge命令)
- 3.3 查看操作
- 3.3.1 獲取文件(get 命令)
- 3.3.2 查看文件(ls、du、df、cat、tail 命令)
- 3.3.3 文件檢查(test 命令)
- 3.3.4 text文件(text 命令)
- 3.3.5 路徑信息統(tǒng)計(jì)(stat 命令)
- 3.3.6 文件校驗(yàn)(checksum 命令)
- 3.3.7 統(tǒng)計(jì)節(jié)點(diǎn)(count 命令)
- 3.3.8 匹配指令(find 命令)
- 3.4 修改操作
- 3.4.1 修改擁有者(chown)
- 3.4.2 修改所屬組(chgrp)
- 3.4.3 修改文件權(quán)限(chown)
- 3.4.4 修改文件副本系數(shù)(setrep)
- 3.4.5 文件追加(appendToFile)
- 05 文末
01 引言
在前面的教程,我們對(duì)HDFS有一個(gè)簡(jiǎn)單的認(rèn)識(shí)了,有興趣的同學(xué)可以參閱:
- 《HDFS教程(01)- 初識(shí)HDFS》
本文主要簡(jiǎn)介HDFS的安裝與命令的匯總。
02 HDFS安裝
因?yàn)镠DFS是Hadoop的核心組件,所以安裝了Hadoop就相當(dāng)于把HDFS安裝了,具體的安裝方式可以參考之前寫(xiě)的博客《Mac下安裝Hadoop》,因?yàn)楸救耸褂玫氖莔ac系統(tǒng),所以這里只有mac版的安裝教程了,其實(shí)原理都差不多的。
03 HDFS命令匯總
3.1 新增操作
3.1.1 創(chuàng)建文件夾(mkdir命令)
# 創(chuàng)建一個(gè)abc目錄 hdfs dfs -mkdir /user/zhang/abc3.1.2 文件上傳(put命令)
# 將client node中的NOTICE.txt文件 put 到hdfs的/user/zhang文件夾中 hdfs dfs -put NOTICE.txt /user/zhang# 如果文件存在,可以使用-f參數(shù)進(jìn)行覆蓋 hdfs dfs -put -f NOTICE.txt /user/zhang3.1.3 文件復(fù)制(cp命令)
copyFromLocal命令:
# 這個(gè)命令和put作用相同(如果存在`LCENSE.txt文件`,要進(jìn)行覆蓋,加上`-f`參數(shù),和put命令一樣) hdfs dfs -copyFromLocal LICENSE.txt /user/zhangcopyToLocal 命令:
# 復(fù)制hdfs的/user/zhang/test/README.txt文件到client node當(dāng)前目錄 hdfs dfs -copyToLocal /user/zhang/test/README.txt # 如果需要復(fù)制到指定目錄 hdfs dfs -copyToLocal /user/zhang/test/README.txt /指定目錄cp 命令:
# 將/user/zhang/NOTICE.txt 復(fù)制到 /user/zhang/test目錄 hdfs dfs -cp /user/zhang/NOTICE.txt /user/zhang/test3.1.4 移動(dòng)文件(mv命令)
hdfs dfs -mv 要移動(dòng)的文件 目標(biāo)文件夾目錄3.1.5 創(chuàng)建空文件(touchz命令)
創(chuàng)建一個(gè)0字節(jié)的空文件。
格式:
示例:
hdfs dfs -touchz /user/dataflair/dir23.2 刪除操作
3.2.1 刪除文件夾(rmdir命令)
# 刪除/user/zhang/demo目錄 hdfs dfs rmdir /user/zhang/demo3.2.2 刪除文件(rm命令)
# 刪除/user/zhang/NOTICE.txt文件 hdfs dfs -rm /user/zhang/NOTICE.txt# 刪除/user/zhang/abc目錄 hdfs dfs -rm -r /user/zhang/abc3.2.3 清空回收站(expunge命令)
hdfs dfs -expunge3.3 查看操作
3.3.1 獲取文件(get 命令)
# 獲取hdfs中的/user/zhang/test/README.txt.gz文件,到client node當(dāng)前目錄 hdfs dfs -get /user/zhang/test/README.txt.gz# 和copyToLocal命令一樣3.3.2 查看文件(ls、du、df、cat、tail 命令)
ls 命令:
# 查看hdfs根目錄 hdfs dfs -ls /# 查看hdfs其它目錄(/user/zhang) hdfs dfs -ls /user/zhangdu 命令:
hdfs dfs -du /user/zhang# 將字節(jié)自動(dòng)轉(zhuǎn)化成單位 hdfs dfs -du -h /user/zhangdf 命令:
# 查看根目錄磁盤(pán)空間 hdfs dfs -df /cat 命令:
# 查看文件 hdfs dfs -cat /user/zhang/test/README.txttail 命令( 類(lèi)似還有 head ):
hdfs dfs -tail /user/zhang/test/README.txt3.3.3 文件檢查(test 命令)
用于文件檢測(cè)操作,如果路徑存在,返回 1,如果是目錄返回 0。
格式:
hdfs dfs -test -[ezd] URI選項(xiàng):
-e 檢查文件是否存在。如果存在則返回0。 -z 檢查文件是否是0字節(jié)。如果是則返回0。 -d 如果路徑是個(gè)目錄,則返回1,否則返回0。示例:
hdfs dfs -test -e sample hdfs dfs -test -z sample hdfs dfs -test -d sample3.3.4 text文件(text 命令)
將源文件輸出為文本格式。允許的格式是 zip 和 TextRecordInputStream。
格式:
示例:
hdfs dfs -text /user/dataflair/dir1/sample3.3.5 路徑信息統(tǒng)計(jì)(stat 命令)
返回指定路徑統(tǒng)計(jì)信息。
格式:
示例:
hdfs dfs -stat /user/dataflair/dir13.3.6 文件校驗(yàn)(checksum 命令)
返回文件的校驗(yàn)和信息。
格式:
hadoop fs -checksum URI示例:
hadoop fs -checksum /user/dataflair/dir1/sample3.3.7 統(tǒng)計(jì)節(jié)點(diǎn)(count 命令)
統(tǒng)計(jì)一個(gè)指定目錄下的文件結(jié)點(diǎn)數(shù)量。
格式:
示例:
$ hadoop fs -count /testelephant2 1 108 testelephant- 第一個(gè)數(shù)值 2 表示 /testelephant 下的文件夾的個(gè)數(shù),
- 第二個(gè)數(shù)值 1 表是當(dāng)前文件夾下文件的個(gè)數(shù),
- 第三個(gè)數(shù)值 108 表示該文件夾下文件所占的空間大小,這個(gè)大小是不計(jì)算副本的個(gè)數(shù)的,單位是字節(jié)(byte)。
在 count 后面增加 -q 選項(xiàng)可以查看當(dāng)前文件夾的限額使用情況。
- 第一個(gè)數(shù)值 1024 ,表示總的文件包括文件夾的限額。
- 第二個(gè)數(shù)值 1021 ,表示目前剩余的文件限額,即還可以創(chuàng)建這么多的文件或文件夾。
- 第三個(gè)數(shù)值 10240 ,表示當(dāng)前文件夾空間的限額。
- 第四個(gè)數(shù)值 10132 ,表示當(dāng)前文件夾可用空間的大小,這個(gè)限額是會(huì)計(jì)算多個(gè)副本的。
- 剩下的三個(gè)數(shù)值與 -count 的結(jié)果一樣。
3.3.8 匹配指令(find 命令)
找出能匹配上的所有文件。
-name pattern不區(qū)分大小寫(xiě),對(duì)大小寫(xiě)不敏感。 -iname pattern對(duì)大小寫(xiě)敏感。 -print打印。 -print0打印在一行。格式:
hadoop fs -find <path> ... <expression> ...示例:
hadoop fs -find /user/dataflair/dir1/ -name sample -print3.4 修改操作
3.4.1 修改擁有者(chown)
改變文件的擁有者。使用-R將使改變?cè)谀夸浗Y(jié)構(gòu)下遞歸進(jìn)行。命令的使用者必須是超級(jí)用戶(hù)。
格式:
hadoop fs -chown [-R] [OWNER][:[GROUP]] URI [URI ]示例:
hdfs dfs -chown -R dataflair /opt/hadoop/logs3.4.2 修改所屬組(chgrp)
改變文件所屬的組。使用-R將使改變?cè)谀夸浗Y(jié)構(gòu)下遞歸進(jìn)行。命令的使用者必須是文件的所有者或者超級(jí)用戶(hù)。
格式:
hdfs dfs -chgrp [-R] <NewGroupName> <file or directory name>示例:
hdfs dfs -chgrp [-R] New Group sample3.4.3 修改文件權(quán)限(chown)
改變文件的權(quán)限。使用-R將使改變?cè)谀夸浗Y(jié)構(gòu)下遞歸進(jìn)行。命令的使用者必須是文件的所有者或者超級(jí)用戶(hù)。
格式:
chmod [-R] mode,mode,... <path>...示例:
hdfs dfs -chmod 777 /user/dataflair/dir1/sample3.4.4 修改文件副本系數(shù)(setrep)
改變一個(gè)文件的副本系數(shù),-R 選項(xiàng)用于遞歸改變目錄下所有文件的副本系數(shù)。
格式:
示例:
hdfs dfs -setrep -w 3 /user/dataflair/dir13.4.5 文件追加(appendToFile)
追加一個(gè)文件到已經(jīng)存在的文件末尾
格式:
hadoop fs -appendToFile <localsource> ... <dst>示例:
hadoop fs -appendToFile /home/dataflair/Desktop/sample /user/dataflair/dir105 文末
本文主要講解的是HDFS的命令,歡迎大家的閱讀,本文完!
總結(jié)
以上是生活随笔為你收集整理的HDFS教程(02)- HDFS命令汇总的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 技术面试官的一些建议
- 下一篇: ubuntu下集群设置静态ip