日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

Hadoop fs命令详解

發(fā)布時(shí)間:2025/5/22 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hadoop fs命令详解 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文非原創(chuàng),轉(zhuǎn)載自http://www.superwu.cn/2013/07/31/312

另外參考:http://www.blogjava.net/changedi/archive/2013/08/12/402696.html

Hadoop框架之HDFS的shell操作

既然HDFS是存取數(shù)據(jù)的分布式文件系統(tǒng),那么對(duì)HDFS的操作,就是文件系統(tǒng)的基本操作,比如文件的創(chuàng)建、修改、刪除、修改權(quán)限等,文件夾的創(chuàng)建、刪除、重命名等。對(duì)HDFS的操作命令類似于Linux的shell對(duì)文件的操作,如ls、mkdir、rm等。

我們執(zhí)行以下操作的時(shí)候,一定要確定hadoop是正常運(yùn)行的,使用jps命令確保看到各個(gè)hadoop進(jìn)程。

?

我們執(zhí)行命令hadoop fs,如圖4-1所示。

圖4-1

圖中顯示了很多命令選項(xiàng)信息。以上截圖不全,我在表格4-1中完整地列出了支持的命令選項(xiàng)。

選項(xiàng)名稱使用格式含義
-ls-ls <路徑>查看指定路徑的當(dāng)前目錄結(jié)構(gòu)
-lsr-lsr <路徑>遞歸查看指定路徑的目錄結(jié)構(gòu)
-du-du <路徑>統(tǒng)計(jì)目錄下個(gè)文件大小
-dus-dus <路徑>匯總統(tǒng)計(jì)目錄下文件(夾)大小
-count-count [-q] <路徑>統(tǒng)計(jì)文件(夾)數(shù)量
-mv-mv <源路徑> <目的路徑>移動(dòng)
-cp-cp <源路徑> <目的路徑>復(fù)制
-rm-rm [-skipTrash] <路徑>刪除文件/空白文件夾
-rmr-rmr [-skipTrash] <路徑>遞歸刪除
-put-put <多個(gè)linux上的文件> <hdfs路徑>上傳文件
-copyFromLocal-copyFromLocal <多個(gè)linux上的文件> <hdfs路徑>從本地復(fù)制
-moveFromLocal-moveFromLocal <多個(gè)linux上的文件> <hdfs路徑>從本地移動(dòng)
-getmerge-getmerge <源路徑> <linux路徑>合并到本地
-cat-cat <hdfs路徑>查看文件內(nèi)容
-text-text <hdfs路徑>查看文件內(nèi)容
-copyToLocal-copyToLocal [-ignoreCrc] [-crc] [hdfs源路徑] [linux目的路徑]從本地復(fù)制
-moveToLocal-moveToLocal [-crc] <hdfs源路徑> <linux目的路徑>從本地移動(dòng)
-mkdir-mkdir <hdfs路徑>創(chuàng)建空白文件夾
-setrep-setrep [-R] [-w] <副本數(shù)> <路徑>修改副本數(shù)量
-touchz-touchz <文件路徑>創(chuàng)建空白文件
-stat-stat [format] <路徑>顯示文件統(tǒng)計(jì)信息
-tail-tail [-f] <文件>查看文件尾部信息
-chmod-chmod [-R] <權(quán)限模式> [路徑]修改權(quán)限
-chown-chown [-R] [屬主][:[屬組]] 路徑修改屬主
-chgrp-chgrp [-R] 屬組名稱 路徑修改屬組
-help-help [命令選項(xiàng)]幫助

注意:以上表格中路徑包括hdfs中的路徑和linux中的路徑。對(duì)于容易產(chǎn)生歧義的地方,會(huì)特別指出“l(fā)inux路徑”或者“hdfs路徑”。如果沒有明確指出,意味著是hdfs路徑。

下面我們講述每個(gè)命令選項(xiàng)的用法。

-ls 顯示當(dāng)前目錄結(jié)構(gòu)

該命令選項(xiàng)表示查看指定路徑的當(dāng)前目錄結(jié)構(gòu),后面跟hdfs路徑,如圖4-1所示。

圖4-1

上圖中的路徑是hdfs根目錄,顯示的內(nèi)容格式與linux的命令ls –l顯示的內(nèi)容格式非常相似,下面解析每一行的內(nèi)容格式:

l 首字母表示文件夾(如果是“d”)還是文件(如果是“-”);

l 后面的9位字符表示權(quán)限;

l 后面的數(shù)字或者“-”表示副本數(shù)。如果是文件,使用數(shù)字表示副本數(shù);文件夾沒有副本;

l 后面的“root”表示屬主;

l 后面的“supergroup”表示屬組;

l 后面的“0”、“6176”、“37645”表示文件大小,單位是字節(jié);

l 后面的時(shí)間表示修改時(shí)間,格式是年月日時(shí)分;

l 最后一項(xiàng)表示文件路徑。

可見根目錄下面有四個(gè)文件夾、兩個(gè)文件。

如果該命令選項(xiàng)后面沒有路徑,那么就會(huì)訪問/user/<當(dāng)前用戶>目錄。我們使用root用戶登錄,因此會(huì)訪問hdfs的/user/root目錄,如圖4-2所示。

圖4-2

如果沒有這個(gè)目錄/user/root,會(huì)提示文件不存在的錯(cuò)誤。

-lsr 遞歸顯示目錄結(jié)構(gòu)

該命令選項(xiàng)表示遞歸顯示當(dāng)前路徑的目錄結(jié)構(gòu),后面跟hdfs路徑。如圖4-3所示。

圖4-3

顯示/user目錄下有個(gè)root目錄,root目錄下有文件abc。

?

-du 統(tǒng)計(jì)目錄下各文件大小

該命令選項(xiàng)顯示指定路徑下的文件大小,單位是字節(jié),如圖4-4所示。

圖4-4

-dus 匯總統(tǒng)計(jì)目錄下文件大小

該命令選項(xiàng)顯示指定路徑的文件大小,單位是字節(jié),如圖4-5所示。

圖4-5

請(qǐng)讀者比較圖4-4與圖4-5的區(qū)別,體會(huì)兩個(gè)命令選項(xiàng)的不同含義。

-count 統(tǒng)計(jì)文件(夾)數(shù)量

該命令選項(xiàng)顯示指定路徑下的文件夾數(shù)量、文件數(shù)量、文件總大小信息,如圖4-6所示。

圖4-6

在圖4-6中有兩條命令,下面的命令是為了佐證上面命令的正確性的。

-mv 移動(dòng)

該命令選項(xiàng)表示移動(dòng)hdfs的文件到指定的hdfs目錄中。后面跟兩個(gè)路徑,第一個(gè)表示源文件,第二個(gè)表示目的目錄,如圖4-7所示。

圖4-7

在圖4-7中有三條命令,是為了體現(xiàn)移動(dòng)前后的變化情況。

-cp 復(fù)制

該命令選項(xiàng)表示復(fù)制hdfs指定的文件到指定的hdfs目錄中。后面跟兩個(gè)路徑,第一個(gè)是被復(fù)制的文件,第二個(gè)是目的地,如圖4-8所示。

圖4-8

在圖4-8中有三條命令,是為了體現(xiàn)復(fù)制前后的變化情況。

-rm 刪除文件/空白文件夾

該命令選項(xiàng)表示刪除指定的文件或者空目錄,如圖4-9所示。

圖4-9

在圖4-9中,前三條命令是為了體現(xiàn)執(zhí)行前后的變化情況。第四條命令是刪除非空的“/user/root”目錄,操作失敗,表明不能刪除非空目錄。

-rmr 遞歸刪除

該命令選項(xiàng)表示遞歸刪除指定目錄下的所有子目錄和文件,如圖4-10所示。

圖4-10

-put 上傳文件

該命令選項(xiàng)表示把linux上的文件復(fù)制到hdfs中,如圖4-11所示。

圖4-11

-copyFromLocal 從本地復(fù)制

操作與-put一致,不再舉例。

-moveFromLocal 從本地移動(dòng)

該命令表示把文件從linux上移動(dòng)到hdfs中,如圖4-12所示。

圖4-12

-getmerge 合并到本地

該命令選項(xiàng)的含義是把hdfs指定目錄下的所有文件內(nèi)容合并到本地linux的文件中,如圖4-13所示。

圖4-13

-cat 查看文件內(nèi)容

該命令選項(xiàng)是查看文件內(nèi)容,如圖4-14所示。

圖4-14

-text 查看文件內(nèi)容

該命令選項(xiàng)可以認(rèn)為作用和用法與-cat相同,此處略。

-mkdir 創(chuàng)建空白文件夾

該命令選項(xiàng)表示創(chuàng)建文件夾,后面跟的路徑是在hdfs將要?jiǎng)?chuàng)建的文件夾,如圖4-15所示。

圖4-15

-setrep 設(shè)置副本數(shù)量

該命令選項(xiàng)是修改已保存文件的副本數(shù)量,后面跟副本數(shù)量,再跟文件路徑,如圖4-16所示。

圖4-16

在圖4-16中,我們修改了文件/install.log的副本數(shù),由1修改為2,意味著多了一個(gè)副本,HDFS會(huì)自動(dòng)執(zhí)行文件的復(fù)制工作,產(chǎn)生新的副本。

如果最后的路徑表示文件夾,那么需要跟選項(xiàng)-R,表示對(duì)文件夾中的所有文件都修改副本,如圖4-17所示。

圖4-17

在圖4-17中,我們對(duì)/user文件夾進(jìn)行的操作,使用了選項(xiàng)-R,那么/user/root下的文件abc的副本數(shù)發(fā)生了改變。

還有一個(gè)選項(xiàng)是-w,表示等待副本操作結(jié)束才退出命令,如圖4-18所示。

圖4-18

請(qǐng)讀者自己比較以上兩圖中使用-q前后執(zhí)行結(jié)果的變化情況。

-touchz 創(chuàng)建空白文件

該命令選項(xiàng)是在hdfs中創(chuàng)建空白文件,如圖4-19所示。

圖4-19

-stat 顯示文件的統(tǒng)計(jì)信息

該命令選項(xiàng)顯示文件的一些統(tǒng)計(jì)信息,如圖4-20所示。

圖1-20

在圖4-20中,命令選項(xiàng)后面可以有格式,使用引號(hào)表示。示例中的格式“%b %n %o %r %Y”依次表示文件大小、文件名稱、塊大小、副本數(shù)、訪問時(shí)間。

-tail 查看文件尾部內(nèi)容

該命令選項(xiàng)顯示文件最后1K字節(jié)的內(nèi)容。一般用于查看日志。如果帶有選項(xiàng)-f,那么當(dāng)文件內(nèi)容變化時(shí),也會(huì)自動(dòng)顯示,如圖4-21所示。

圖4-21

-chmod 修改文件權(quán)限

該命令選項(xiàng)的使用類似于linux的shell中的chmod用法,作用是修改文件的權(quán)限,如圖4-22所示。

圖4-22

在圖4-22中,修改了文件/emptyfile的權(quán)限。

如果加上選項(xiàng)-R,可以對(duì)文件夾中的所有文件修改權(quán)限,如圖4-23所示。

圖4-23

-chown 修改屬主

該命令選項(xiàng)表示修改文件的屬主,如圖4-24所示。

圖4-24

上圖中把文件/emptyfile的屬主由root修改為itcast。

也可以同時(shí)修改屬組,如圖4-25所示。

圖4-25

在圖4-25中,把文件/emptyfile的屬主和屬組都修改為itcast,如果只修改屬組,可以使用“:itcast”。

如果帶有選項(xiàng)-R,意味著可以遞歸修改文件夾中的所有文件的屬主、屬組信息。

-chgrp 修改屬組

該命令的作用是修改文件的屬組,該命令相當(dāng)于“chown :屬組”的用法,如圖4-26所示。

圖4-26

-help 幫助

該命令選項(xiàng)會(huì)顯示幫助信息,后面跟上需要查詢的命令選項(xiàng)即可,如圖4-27所示。

圖4-27

在圖4-27中,查詢的rm的用法。

該命令選項(xiàng)顯示的內(nèi)容并非完全準(zhǔn)確,比如查詢count的結(jié)果就不準(zhǔn)確,而是把所有命令選項(xiàng)的用法都顯示出來,如圖4-28所示。希望新的版本以后改進(jìn)。

圖4-28

轉(zhuǎn)載于:https://www.cnblogs.com/cl1234/p/3566923.html

總結(jié)

以上是生活随笔為你收集整理的Hadoop fs命令详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。