1.HDFS Shell概述
HDFS Shell 是由一系列類似 Linux Shell 的命令組成的。命令大致可分為操作命令、管理命令、其他命令三類
1.1操作命令
操作命令是以“hdfs dfs”開頭的命令。通過這些命令,用戶可以完成 HDFS 文件的復(fù)制、刪除和查找等操作,Shell 命令的一般格式如下。
hdfs dfs [通用選項(xiàng)]
其中,hdfs 是 Hadoop 系統(tǒng)在 Linux 系統(tǒng)中的主命令;dfs 是子命令,表示執(zhí)行文件系統(tǒng)操作;通用選項(xiàng)由 HDFS 文件操作命令和操作參數(shù)組成。
(1)創(chuàng)建文件夾
命令:hdfs dfs -mkdir [-p] <文件路徑>
-p]:表示如果父目錄不存在,先創(chuàng)建父目錄。
例如,新建文件夾/202012721、/202012721/dir1。命令如下:
hdfs dfs -mkdir /202012721
hdfs dfs -mkdir -p /202012721/dir1
結(jié)果為:
(2)列出指定的文件和目錄
命令:hdfs dfs -ls [-d][-h][-R] <文件路徑>
[-d]:返回 path。
[-h]:h 指“human-readble”,表示按照人性化的單位顯示文件大小,比如文件顯示為 10MB,
而不會(huì)顯示 10240KB。
[-R]:級(jí)聯(lián)顯示 paths 下的文件。
例如,列出根目錄下的文件或目錄。命令如下:
hdfs dfs -ls /
結(jié)果為:
(3)新建文件
命令:hdfs dfs -touchz <存放路徑>
例如,在主目錄/202012721/input 下創(chuàng)建大小為 0 的空文件 file。命令如下:
hdfs dfs -touchz /202012721/input.txt
hdfs dfs -ls /202012721
結(jié)果為:
(4)上傳文件
命令:hdfs dfs -put [-f] [-p] <本地路徑> <HDFS上的路徑> 或
hdfs dfs -copyFromLocal [-f] [-p] [-l] <本地路徑> <HDFS上的路徑> 在這里我們只演示第一個(gè)命令。例如,在本地創(chuàng)建一個(gè)文件 data.txt并傳到HDFS的/202012721目錄下命令如下:
hdfs dfs -put data.txt /202012721/data.txt
結(jié)果為:
(5)將本地文件移動(dòng)到 HDFS
命令:hdfs dfs -moveFromLocal <本地文件路徑> <HDFS路徑> 。
與“hdfs dfs -copyFromLocal”命令不同的是,此命令將文件復(fù)制到 HDFS 后,本地的文件會(huì)被刪除。
例如,我們把本地文件data2.txt移動(dòng)到HDFS的/202012721命令如下:
hdfs dfs -moveFromLocal data2.txt /202012721
結(jié)果為:
(6)下載文件
命令:hdfs dfs -get [-p] <HDFS路徑> <本地文件路徑> 或 hdfs dfs -copyToLocal [-p] [-ignoreCrc] [-crc] <HDFS路徑> <本地文件路徑>
例如,將 HDFS 中的/202012721/data.txt 文件下載并保存為本地的 ~/local_data.txt,將/202012721/data2.txt文件下載到本地目錄。命令如下。
hdfs dfs -get /202012721/data.txt ~/local_data.txt
hdfs dfs -copyToLocal /202012721/data2.txt ~
(7)查看文件
命令:hdfs dfs -cat/text[-ignoreCrc] <文件路徑>
hdfs dfs -tail [-f] <文件路徑>
-ignoreCrc:忽略循環(huán)檢驗(yàn)失敗的文件。
-f:動(dòng)態(tài)更新顯示數(shù)據(jù)。
例如,查看/202012721/data.txt。命令如下。
hdfs dfs -cat /202012721/data.txt
結(jié)果為
(8)追寫文件
命令:hdfs dfs -appendToFile <本地路徑> <目標(biāo)路徑>
該命令將 localsrc 指向的本地文件內(nèi)容寫入目標(biāo)文件 dst。例如,在本地根目錄下新建 data3.txt 文件,內(nèi)容為”hadoop”,追加到文件/202012721/data.txt 中。命令如下。
hdfs dfs -appendToFile data3.txt /202012721/data.txt
hdfs dfs -cat /202012721/data.txt
結(jié)果為:
(9)刪除目錄或者文件
命令:hdfs dfs -rm [-f] [-r] <文件路徑>
-f:如果要?jiǎng)h除的文件不存在,不顯示錯(cuò)誤信息。
-r/R:級(jí)聯(lián)刪除目錄下所有的文件和子目錄文件。
例如,刪除 HDFS 中的/202012721/data2.txt 文件。命令如下。
hdfs dfs -rm /202012721/data2.txt
結(jié)果為:
(10)顯示占用的磁盤空間大小
命令:hdfs dfs -du [-s] [-h] <文件路徑>
按字節(jié)顯示指定目錄所占空間大小。
-s:顯示指定目錄下文件總的大小。
-h:h 指“human-readble”,表示按照人性化的單位顯示文件大小,比如文件顯示為 10MB,而不會(huì)顯示 10240KB。例如,顯示 HDFS 根目錄中 202012721 文件夾下所有文件的大小。命令如下:
hdfs dfs -du /202012721
結(jié)果為:
(11)HDFS 中的文件復(fù)制
命令:hdfs dfs -cp [-f] [-p | -p[topax]] <原路徑> <目標(biāo)路徑>
-f:如果目標(biāo)文件存在,將強(qiáng)行覆蓋。
-p:將保存文件的屬性。
例如,將 HDFS 中的/202012721/data.txt 復(fù)制為/202012721/data_copy.txt。命令如下。
hdfs dfs -cp /202012721/data.txt /202012721/data_copy.txt
結(jié)果為:
(12)HDFS 中的文件移動(dòng)(改名)
命令:hdfs dfs -mv <原路徑> <目標(biāo)路徑>
例如,將 HDFS 中的/202012721/data_copy.txt 移動(dòng)(也可理解為改名)為/202012721/data2.txt。命令如下。
hdfs dfs -mv /202012721/data_copy.txt /202012721/data2.txt
結(jié)果為:
管理命令
管理命令是以“hdfs dfsadmin”開頭的命令。通過這些命令,用戶可以管理 HDFS。管理命令的一般格式如下:
hdfs dfsadmin [通用選項(xiàng)]
其中,hdfs 是 Hadoop 系統(tǒng)在 Linux 系統(tǒng)中的主命令;dfsadmin 是子命令,表示執(zhí)行文件系統(tǒng)管理的操作;通用選項(xiàng)由 HDFS 管理命令和參數(shù)組成。
(1)報(bào)告文件系統(tǒng)的基本信息和統(tǒng)計(jì)信息
命令如下:
hdfs dfsadmin -report
結(jié)果如下:
(2)查看拓?fù)?/strong>
命令如下:
hdfs dfsadmin -printTopology
結(jié)果如下:文章來源:http://www.zghlxwxcb.cn/news/detail-402244.html
其他命令
我們把操作命令“hdfs dfs”、管理命令“hdfs dfsadmin”之外的命令稱為其他命令。輸入hdfs查看。文章來源地址http://www.zghlxwxcb.cn/news/detail-402244.html
到了這里,關(guān)于hadoop基礎(chǔ):通過 Shell 命令訪問 HDFS的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!