Hadoop HDFS概念学习系列之shell命令使用HDFS的一些其他命令(十九)
其他相關(guān)命令還包括以下這些:
NameNode ?-format?: ?格式化DFS文件系統(tǒng)
secondaryNameNode?: ? 運(yùn)行DFS的SecndaryNameNode進(jìn)程
NameNode ?: ?運(yùn)行DFS的NameNode進(jìn)程
DataNode ?: ?運(yùn)行DFS的DataNode進(jìn)程
dfsadmin ?: ? 運(yùn)行DFS的管理客戶端
mradmin ?: ? 運(yùn)行MapReduce的管理客戶端
fsck ??: ? 運(yùn)行HDFS的檢測進(jìn)程
fs ??: ? 運(yùn)行一個(gè)文件系統(tǒng)工具
balancer ? ?: ? 運(yùn)行一個(gè)文件系統(tǒng)平衡進(jìn)程
jobtracker ??: ?運(yùn)行一個(gè)JobTracker進(jìn)程
pipes ??: ? 運(yùn)行一個(gè)Pipes任務(wù)
tasktracker? ?: ? 運(yùn)行一個(gè)TaskTracker進(jìn)程
job:管理運(yùn)行中的MapReducer任務(wù)
queue ??: ? 獲得運(yùn)行中的MapReduce隊(duì)列的信息
version??: ? 打印版本號(hào)
jar ?<jar>?:運(yùn)行一個(gè)JAR文件
daemonlog:讀取/設(shè)置守護(hù)進(jìn)程的日志記錄級(jí)別
?
?
?
相信大家已經(jīng)對(duì)這些命令中的一部分很熟悉了。
比如在命令行終端中,jar是用來運(yùn)行java程序的,version命令可以查看Hadoop的當(dāng)前版本,或者在安裝時(shí)必須運(yùn)行的NameNode ? -format命令。在這一小節(jié),我們介紹的是與HDFS有關(guān)的命令,其中與HDFS相關(guān)的命令有如下幾個(gè):secondaryNameNode、NameNode、DataNode、dfsadmin、fsck、fs、balancer、distcp和archieves。
它們的統(tǒng)一格式如下:
bin/hadoop command [genericOptions] [commandOptions]其中只有dfsadmin、fsck、fs具有選項(xiàng)genericOptions及commandOptions,其余的命令只有commandOptions。下面先介紹只有commandOptions選項(xiàng)的命令。
distcp。Distcp命令用于Distcp(即Dist分布式,Cp復(fù)制)分布式復(fù)制。用于在集群內(nèi)部及集群之間復(fù)制數(shù)據(jù)。
archives。archives命令是Hadoop定義的檔案格式。archive對(duì)應(yīng)一個(gè)文件系統(tǒng),它的擴(kuò)展名是.har。包含元數(shù)據(jù)及數(shù)據(jù)文件。
DataNode。DataNode命令要簡單一些,可以使用如下命令將Hadoop回滾到前一個(gè)版本。如下:
hadoop DataNode ? [-rollback]
NameNode。nameNode命令稍微復(fù)雜一些,它的用法如下:
hadoop nameNode[-format] //格式化NameNode[-upgrade] //在Hadoop升級(jí)后,應(yīng)該使用這個(gè)命令啟動(dòng)NameNode[-rollback] //使用NameNode回滾前一個(gè)版本[-finalize] //刪除文件系統(tǒng)的前一個(gè)狀態(tài),這會(huì)導(dǎo)致系統(tǒng)不能回滾到前一個(gè)zhua[-importCheckpoint] // 復(fù)制備份checkpoint的狀態(tài)到當(dāng)前checkpoint?
secondaryNameNode。secondaryNameNode的命令用法如下:
hadoop secondaryNameNode[-checkpoint [force]] //當(dāng)editlog超過規(guī)定大小(默認(rèn)64MB),啟動(dòng)檢查secondaryNameNode的checkpoint過程;如果啟用force選項(xiàng),則強(qiáng)制執(zhí)行checkpoint過程。 [-geteditsize] //在終端上顯示editlog文件的大小?
balancer。balancer命令解釋中所說,用于分擔(dān)負(fù)載。很多原因都會(huì)造成數(shù)據(jù)在集群內(nèi)分布不均衡,一般來說,當(dāng)集群中添加新的DataNode時(shí),可以使用這個(gè)命令來進(jìn)行負(fù)載均衡。其用法如下:
hadoop balancer
接下來的dfsadmin、fsck、fs這三個(gè)命令有一個(gè)共同的選項(xiàng)genericOptions,這個(gè)選擇一般與系統(tǒng)相關(guān),其用法如下:
-conf <configuration> //指定配置文件-D <property=value> //指定某屬性的屬性值-fs <local|namenode:port> //指定DataNode及其端口?
? ? ??dfsadmin。在dfsadmin命令中可以執(zhí)行一些類似Windows中高級(jí)用戶才能執(zhí)行的命令,比如升級(jí)、回滾等。其用法如下:
hadoop dfsadmin [GENERIC_OPTIONS][-report] //在終端上顯示文件系統(tǒng)的基本信息[-safemode enter | leave | get | wait] //Hadoop的安全模式及相關(guān)維護(hù);在安全模式中系統(tǒng)是只讀的,數(shù)據(jù)塊也不可以刪除或復(fù)制[-refreshNodes] [-finalizeUpgrade] //重新讀取hosts和exclude文件,將新的被允許加入到集群中的DataNode連入,同時(shí)斷開與那些從集群出去的DataNode的連接。[-upgradeProgress status | details | force] //獲得當(dāng)前系統(tǒng)的升級(jí)狀態(tài)、細(xì)節(jié),或者強(qiáng)制執(zhí)行升級(jí)過程[-metasave filename] //保存NameNode的主要數(shù)據(jù)結(jié)構(gòu)到指定目錄下[-setQuota <qutoa> <dirname> ... <dirname>] //為每個(gè)目錄設(shè)定配額[-clrQuota <dirname> ... <dirname>] //清除這些目錄的配額[-setSpaceQuota <qutoa> <dirname> ... <dirname>]//為每個(gè)目錄設(shè)置配額空間[-clrSpaceQuota <dirname> ... <dirname>] //清除這些目錄的配額空間[-help [cmd]] // 顯示命令的幫助信息?
?fsck。fsck在HDFS中被用來檢查系統(tǒng)中的不一致情況。比如某文件只有目錄,但數(shù)據(jù)塊已經(jīng)丟失或副本數(shù)目不足。與Linux不同,這個(gè)命令只用于檢測,不能進(jìn)行修復(fù)。其使用方法如下:
?
fs。fs可以說是HDFS最常用的命令,這是一個(gè)高度類似Linux文件系統(tǒng)的命令集。你可以使用這些命令查看HDFS上的目錄結(jié)構(gòu)文件、上傳和下載文件、創(chuàng)建文件夾、復(fù)制文件等。其使用方法如下:
hadoop fs [genericOptions] [-ls <path>] //顯示目標(biāo)路徑當(dāng)前目錄下的所有文件[-lsr <path>] //遞歸顯示目標(biāo)路徑下的所有目錄及文件(深度優(yōu)先)[-du <path>] //以字節(jié)為單位顯示目錄中所有文件的大小,或該文件的大小(如果目標(biāo)為文件)[-dus <path>] //以字節(jié)為單位顯示目標(biāo)文件大小(用于查看文件夾大小)[-count [-q] <path>] //將目錄的大小、包含文件(包括文件)個(gè)數(shù)的信息輸出到屏幕(標(biāo)準(zhǔn)stdout)[-mv <src> <dst>] //把文件或目錄移動(dòng)到目標(biāo)路徑,這個(gè)命令允許同時(shí)移動(dòng)多個(gè)文件,如果復(fù)制多個(gè)文件,目標(biāo)路徑必須是文件夾[-cp <src> <dst>] //復(fù)制文件或目錄到目標(biāo)路徑,這個(gè)命令運(yùn)行同時(shí)復(fù)制多個(gè)文件,如果復(fù)制多個(gè)文件,目標(biāo)路徑必須是文件夾[-rm [-skipTrash] <path>] //刪除文件,這個(gè)命令不能刪除文件夾[-rmr [-skipTrash] <path>] //刪除文件夾及其下的所有文件[-expunge][-put <localsrc> ... <dst>] //從本地文件系統(tǒng)上傳文件到HDFS中[-copyFromLocal <localsrc> ... <dst>] //與put相同[-moveFromLocal <localsrc> ... <dst>] //與put相同,但是文件上傳之后會(huì)從本地文件系統(tǒng)中移除[-get [-ignoreCrc] [-crc] <src> <localdst>] //復(fù)制文件到本地文件系統(tǒng)。這個(gè)命令可以選擇是否忽視校驗(yàn)和,忽視校驗(yàn)和下載主要用于挽救那些已經(jīng)發(fā)生錯(cuò)誤的文件。[-getmerge <src> <localdst> [addn1]] //將源目錄中的所有文件進(jìn)行排序并寫入目標(biāo)文件中,文件之間以換行符分隔。[-cat <src>] //在終端顯示(標(biāo)準(zhǔn)輸出stdout) 文件中的內(nèi)容,類似Linux系統(tǒng)中的Cat。[-text <src>] [-copyToLocal [-ignoreCrc] [-crc] <src> <localdst>] //與get相同[-moveToLocal [-crc] <src> <localdst>][-mkdir <path>]//創(chuàng)建文件夾[-setrep [-R] [-W] <rep> <path/file>] //改變一個(gè)文件的副本個(gè)數(shù)。參數(shù)-R可以遞歸地對(duì)該目錄下的所有文件做統(tǒng)一操作[-touchz <path>] //類似Linux中的touch ,創(chuàng)建一個(gè)空文件[-test -[ezd] <path>] //將源文件輸出為文本格式顯示到終端上,通過這個(gè)命令可以查看TextRecordInputStream(SequenceFile等)或Zip文件。[-stat [format] <path>] //以指定格式返回路徑的信息[-tail [-f] <file>] //在終端上顯示(標(biāo)準(zhǔn)輸出stdout)文件的最后1kb內(nèi)容。-f選項(xiàng)的行為與Linux中一致,會(huì)持續(xù)檢測新添加到文件中的內(nèi)容,這在查看日志文件時(shí)會(huì)顯得非常方便[-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH ... ]//改變文件的權(quán)限,只有文件的所有者或是超級(jí)用戶才能使用這個(gè)命令。-R可以遞歸地改變文件夾內(nèi)的所有文件的權(quán)限 [-chown [-R] [OWNER] [:[GROUP]] PATH ...] //改變文件的擁有者,-R可以遞歸地改變文件夾內(nèi)所有文件的擁有者。同樣,這個(gè)命令只有超級(jí)用戶才能使用。 [-chgrp [-R] GROUP PATH ...] //改變文件所屬的組,-R可以遞歸地改變文件夾內(nèi)所有文件所屬的 [help [cmd]] // 這是命令的幫助信息在這些命令中,參數(shù)<path>的完整格式是 hdfs://NameNodeIP:port/,比如你的NameNode地址是192.168.0.1,端口是9000。那么,如果想訪問HDFS上路徑為/user/root/hello的文件,則需要輸入的地址是hdfs://192.168.0.1:9000/user/root/hello。在Hadoop中,如果參數(shù)<path>沒有NameNodeIP,那么會(huì)默認(rèn)按照core-site.xml中屬性fs.default.name的設(shè)置,附加"/user/你的用戶名"作為路徑,這是為了方便使用以及對(duì)不同用戶進(jìn)行區(qū)分。
?
?
本文轉(zhuǎn)自大數(shù)據(jù)躺過的坑博客園博客,原文鏈接:http://www.cnblogs.com/zlslch/p/5143531.html,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的Hadoop HDFS概念学习系列之shell命令使用HDFS的一些其他命令(十九)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: centos开机优化脚本
- 下一篇: 老板的两分钱