日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HDFS的访问方式之HDFS shell的常用命令

發(fā)布時(shí)間:2025/3/19 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HDFS的访问方式之HDFS shell的常用命令 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

場景

CentOS7上搭建Hadoop集群(入門級):

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119335883

在上面搭建起來Hadoop集群的基礎(chǔ)上,通過HDFS shell的方式訪問HDFS的常用命令。

??? HDFS的訪問方式有兩種:一種是HDFS shell,一種是Java API方式。HDFS shell命令應(yīng)
使用hadoop fs或hdfs dfs(其中官網(wǎng)建議使用hdfs dfs方式訪問)。所有的HDFS shell命令使
用URI路徑作為參數(shù),URI格式是scheme://path,對于HDFS文件系統(tǒng),scheme是hdfs;對
于本地文件系統(tǒng),scheme是file。其中scheme是可選的,如果未加指定,默認(rèn)是HDFS文件
系統(tǒng)。一個(gè)HDFS文件或目錄如parent/path可以表示成hdfs://parent/path,或者是更簡單的
/parent/path

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
關(guān)注公眾號
霸道的程序猿
獲取編程相關(guān)電子書、教程推送與免費(fèi)下載。

實(shí)現(xiàn)

啟動(dòng)HDFS后,顯示常用命令的用法

hdfs dfs

?

[root@master sbin]# hdfs dfs Usage: hadoop fs [generic options][-appendToFile <localsrc> ... <dst>][-cat [-ignoreCrc] <src> ...][-checksum <src> ...][-chgrp [-R] GROUP PATH...][-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...][-chown [-R] [OWNER][:[GROUP]] PATH...][-copyFromLocal [-f] [-p] [-l] [-d] <localsrc> ... <dst>][-copyToLocal [-f] [-p] [-ignoreCrc] [-crc] <src> ... <localdst>][-count [-q] [-h] [-v] [-t [<storage type>]] [-u] [-x] <path> ...][-cp [-f] [-p | -p[topax]] [-d] <src> ... <dst>][-createSnapshot <snapshotDir> [<snapshotName>]][-deleteSnapshot <snapshotDir> <snapshotName>][-df [-h] [<path> ...]][-du [-s] [-h] [-x] <path> ...][-expunge][-find <path> ... <expression> ...][-get [-f] [-p] [-ignoreCrc] [-crc] <src> ... <localdst>][-getfacl [-R] <path>][-getfattr [-R] {-n name | -d} [-e en] <path>][-getmerge [-nl] [-skip-empty-file] <src> <localdst>][-help [cmd ...]][-ls [-C] [-d] [-h] [-q] [-R] [-t] [-S] [-r] [-u] [<path> ...]][-mkdir [-p] <path> ...][-moveFromLocal <localsrc> ... <dst>][-moveToLocal <src> <localdst>][-mv <src> ... <dst>][-put [-f] [-p] [-l] [-d] <localsrc> ... <dst>][-renameSnapshot <snapshotDir> <oldName> <newName>][-rm [-f] [-r|-R] [-skipTrash] [-safely] <src> ...][-rmdir [--ignore-fail-on-non-empty] <dir> ...][-setfacl [-R] [{-b|-k} {-m|-x <acl_spec>} <path>]|[--set <acl_spec> <path>]][-setfattr {-n name [-v value] | -x name} <path>][-setrep [-R] [-w] <rep> <path> ...][-stat [format] <path> ...][-tail [-f] <file>][-test -[defsz] <path>][-text [-ignoreCrc] <src> ...][-touchz <path> ...][-truncate [-w] <length> <path> ...][-usage [cmd ...]]Generic options supported are -conf <configuration file>???? specify an application configuration file -D <property=value>??????????? use value for given property -fs <file:///|hdfs://namenode:port> specify default filesystem URL to use, overrides 'fs.defaultFS' property from configurations. -jt <local|resourcemanager:port>??? specify a ResourceManager -files <comma separated list of files>??? specify comma separated files to be copied to the map reduce cluster -libjars <comma separated list of jars>??? specify comma separated jar files to include in the classpath. -archives <comma separated list of archives>??? specify comma separated archives to be unarchived on the compute machines.The general command line syntax is command [genericOptions] [commandOptions]

1、usage

例如查看ls的用法

hdfs dfs -usage ls

?

2、help

查看命令的詳細(xì)幫助,例如查看ls命令的幫助

hdfs dfs -help ls

?

3、ls

查看文件或目錄

hdfs dfs -ls hdfs://master:9000/

這里的hdfs://master:9000/是fs.defaultFS配置的值,表示HDFS系統(tǒng)中的根目錄

如果使用的是HDFS文件系統(tǒng),可以簡寫為/

加上選項(xiàng)-R 連同子目錄的文件一起列出

4、put

從本地文件系統(tǒng)上傳文件到HDFS

hdfs dfs -put /usr/local/1.txt /

左邊是本地文件系統(tǒng)的路徑? 右邊是HDFS系統(tǒng)的路徑,這里是根目錄

?

5、cat

顯示文件內(nèi)容

hdfs dfs -cat /1/txt

6、text

給指定的文件以文本的格式輸出,允許的格式有zip、TextRecordInpurStream、Avro。

當(dāng)文件為文本文件時(shí),等同于cat

hdfs dfs -text /1.txt

?

7、tail

顯示文件最后1KB的內(nèi)容。

hdfs dfs -tail /1.txt

8、touchz

創(chuàng)建一個(gè)空文件

hdfs dfs -touchz /badao.txt

9、get

從HDFS上下載文件到本地

hdfs dfs -get /badao.txt

10、copyFromLocal

從本地系統(tǒng)上傳文件到HDFS,與put命令相同

11、copyToLocal

從HDFS下載文件到本地文件系統(tǒng),與get命令相同

12、moveFromLocal

與put命令相同,只是上傳成功后本地文件會被刪除

13、mv

同Linux的mv命令,移動(dòng)或重命名文件

hdfs dfs -mv /1.txt /user

14、cp

復(fù)制文件

hdfs dfs -cp /badao.txt /badaocopy.txt

15、mkdir

創(chuàng)建文件夾

hdfs dfs -mkdir /newdir

16、rm

刪除文件

hdfs dfs -rm /badaocopy.txt

選線 -r 可以遞歸的刪除,可以刪除非空目錄。

17、rmdir

刪除空目錄

hdfs dfs -rmdir /newdir

18、expunge

清空回收站

hdfs dfs -expunge

19、chmod

改變權(quán)限

hdfs dfs -chmod 777 /badao.txt

20、count

顯示指定文件或目錄

hdfs dfs -count -q /

?

21、du

顯示文件大小

如果指定目錄,會顯示該目錄中每個(gè)文件的大小

hdfs dfs -du /

?

22、df

檢查文件系統(tǒng)的磁盤空間占用情況

hdfs dfs -df /

?23、stat

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

格式:
%b為文件所占的塊數(shù),%g為文件所屬的用戶組,%n為文件名,%o為數(shù)據(jù)塊大小
%r為備份數(shù),%u為文件所屬用戶,%y為文件修改時(shí)間。

hdfs dfs -stat %b,%g,%n,%o,%r,%u,%y /user

24、createSnapshot

創(chuàng)建快照。

Snapshot(快照)是一個(gè)全部文件系統(tǒng)或者某個(gè)目錄在某一時(shí)刻的鏡像。

創(chuàng)建動(dòng)作僅僅是在目錄對應(yīng)的innode上加個(gè)快照的標(biāo)簽,不會涉及數(shù)據(jù)塊的拷貝操作,也不會

對讀寫性能有影響,但是會占用NameNode一定的額外內(nèi)存來存放快照中被修改的文件和目錄

的元信息。

hdfs dfs -createSnapshot /user snap1

會提示:

Directory is not a snapshottable directory : /user

然后

hdfs dfsadmin -allowSnapshot /user

再執(zhí)行即可

25、renameSnapshot

重命名快照

hdfs dfs -renameSnapshot 路徑? 舊名稱? 新名稱

比如:

hdfs dfs -renameSnapshot /user snap1 snap2

26、deleteSnapshot

刪除快照

hdfs dfs -deleteSnapshot /user snap2

?

總結(jié)

以上是生活随笔為你收集整理的HDFS的访问方式之HDFS shell的常用命令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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