前言
? ? 本文比較全面的向大家介紹一下Hadoop命令,歡迎大家一起來學(xué)習(xí),希望通過本節(jié)的介紹大家能夠掌握一些常見Hadoop命令的使用方法。下面是Hadoop命令的詳細(xì)介紹。
Hadoop命令大全
1、列出所有HadoopShell支持的命令$bin/hadoopfs-help
2、顯示關(guān)于某個(gè)命令的詳細(xì)信息$bin/hadoopfs-helpcommand-name
3、用戶可使用以下命令在指定路徑下查看歷史日志匯總$bin/hadoopjob-historyoutput-dir 這條命令會(huì)顯示作業(yè)的細(xì)節(jié)信息,失敗和終止的任務(wù)細(xì)節(jié)。
4、關(guān)于作業(yè)的更多細(xì)節(jié),比如成功的任務(wù),以及對(duì)每個(gè)任務(wù)的所做的嘗試次數(shù)等可以用下面的命令查看 $bin/hadoopjob-historyalloutput-dir
5、格式化一個(gè)新的分布式文件系統(tǒng):$bin/hadoopnamenode-format
6、在分配的NameNode上,運(yùn)行下面的Hadoop命令啟動(dòng)HDFS:$bin/start-dfs.sh bin/start-dfs.sh腳本會(huì)參照NameNode上${HADOOP_CONF_DIR}/slaves文件的內(nèi)容,在所有列出的slave上啟動(dòng)DataNode守護(hù)進(jìn)程。
7、在分配的JobTracker上,運(yùn)行下面的命令啟動(dòng)Map/Reduce:$bin/start-mapred.sh bin/start-mapred.sh腳本會(huì)參照J(rèn)obTracker上${HADOOP_CONF_DIR}/slaves文件的內(nèi)容,在所有列出的slave上啟動(dòng)TaskTracker守護(hù)進(jìn)程。
8、在分配的NameNode上,執(zhí)行下面的Hadoop命令停止HDFS:$bin/stop-dfs.sh bin/stop-dfs.sh腳本會(huì)參照NameNode上${HADOOP_CONF_DIR}/slaves文件的內(nèi)容,在所有列出的slave上停止DataNode守護(hù)進(jìn)程。
9、在分配的JobTracker上,運(yùn)行下面的命令停止Map/Reduce:$bin/stop-mapred.sh bin/stop-mapred.sh腳本會(huì)參照J(rèn)obTracker上${HADOOP_CONF_DIR}/slaves文件的內(nèi)容,在所有列出的slave上停止TaskTracker守護(hù)進(jìn)程。DFSShell
10、創(chuàng)建一個(gè)名為/foodir的目錄$bin/hadoopdfs-mkdir/foodir
11、創(chuàng)建一個(gè)名為/fodir的目錄$bin/hadoopdfs-mkdir/fodir
12、查看名為/foodir/myfile.txt的文件內(nèi)容$bin/hadoopdfs-cat/foodir/myfile.txt DFSAdmin 13、將集群置于安全模式 $bin/hadoopdfsadmin-safemodeenter
14、顯示Datanode列表$bin/hadoopdfsadmin-report
15、使Datanode節(jié)點(diǎn)datanodename退役$bin/hadoopdfsadmin-decommissiondatanodename 16、bin/hadoopdfsadmin-help命令能列出所有當(dāng)前支持的命令。比如: *-report:報(bào)告HDFS的基本統(tǒng)計(jì)信息。有些信息也可以在NameNodeWeb服務(wù)首頁看到。*-safemode:雖然通常并不需要,但是管理員的確可以手動(dòng)讓NameNode進(jìn)入或離開安全模式。*-finalizeUpgrade:刪除上一次升級(jí)時(shí)制作的集群備份。
16、顯式地將HDFS置于安全模式$bin/hadoopdfsadmin-safemode
17、在升級(jí)之前,管理員需要用(升級(jí)終結(jié)操作)Hadoop命令刪除存在的備份文件$bin/hadoopdfsadmin-finalizeUpgrade
18、能夠知道是否需要對(duì)一個(gè)集群執(zhí)行升級(jí)終結(jié)操作。$dfsadmin-upgradeProgressstatus
20、使用-upgrade選項(xiàng)運(yùn)行新的版本$bin/start-dfs.sh-upgrade
21、如果需要退回到老版本,就必須停止集群并且部署老版本的Hadoop,用回滾選項(xiàng)啟動(dòng)集群$bin/start-dfs.h-rollback
22、下面的新命令或新選項(xiàng)是用于支持配額的。前兩個(gè)是管理員命令。*dfsadmin-setquota《N》《directory》。..《directory》 把每個(gè)目錄配額設(shè)為N。這個(gè)命令會(huì)在每個(gè)目錄上嘗試,如果N不是一個(gè)正的長(zhǎng)整型數(shù),目錄不存在或是文件名,或者目錄超過配額,則會(huì)產(chǎn)生錯(cuò)誤報(bào)告。*dfsadmin-clrquota《directory》。..《director》 為每個(gè)目錄刪除配額。這個(gè)命令會(huì)在每個(gè)目錄上嘗試,如果目錄不存在或者是文件,則會(huì)產(chǎn)生錯(cuò)誤報(bào)告。如果目錄原來沒有設(shè)置配額不會(huì)報(bào)錯(cuò)。*fs-count-q《directory》。..《directory》 使用-q選項(xiàng),會(huì)報(bào)告每個(gè)目錄設(shè)置的配額,以及剩余配額。如果目錄沒有設(shè)置配額,會(huì)報(bào)告none和inf。
23、創(chuàng)建一個(gè)hadoop檔案文件 $hadooparchive-archiveNameNAME《src》*《dest》-archiveNameNAME要?jiǎng)?chuàng)建的檔案的名字。 src文件系統(tǒng)的路徑名,和通常含正則表達(dá)的一樣。dest保存檔案文件的目標(biāo)目錄。
? ? ? 24、遞歸地拷貝文件或目錄 $hadoopdistcp《srcurl》《desturl》srcurl源Url desturl目標(biāo)Url。 、
?
常見Hadoop命令使用方法詳解
本節(jié)繼續(xù)和大家一起學(xué)習(xí)一下Hadoop命令的使用方法,在學(xué)習(xí)Hadoop時(shí)只有了解了Hadoop命令如何使用,才能更好的對(duì)Hadoop進(jìn)行操作,下面讓我們一起來學(xué)習(xí)Hadoop命令吧。
version
此Hadoop命令用來打印版本信息。用法:hadoopversionCLASSNAME hadoop腳本可用于調(diào)調(diào)用任何類。用法:hadoopCLASSNAME運(yùn)行名字為CLASSNAME的類。
管理命令
hadoop集群管理員常用的命令。 balancer 運(yùn)行集群平衡工具。管理員可以簡(jiǎn)單的按Ctrl-C來停止平衡過程。參考Rebalancer了解更多。 用法:hadoopbalancer[-threshold《threshold》] 命令選項(xiàng)描述 -threshold《threshold》磁盤容量的百分比。這會(huì)覆蓋缺省的閥值。 daemonlog 此Hadoop命令用來獲取或設(shè)置每個(gè)守護(hù)進(jìn)程的日志級(jí)別。用法:hadoopdaemonlog-getlevel《host:port》《name》用法:hadoopdaemonlog-setlevel《host:port》《name》《level》 命令選項(xiàng)描述 -getlevel《host:port》《name》打印運(yùn)行在《host:port》的守護(hù)進(jìn)程的日志級(jí)別。這個(gè)命令內(nèi)部會(huì)連接http://《host:port》/logLevel?log=《name》 -setlevel《host:port》《name》《level》設(shè)置運(yùn)行在《host:port》的守護(hù)進(jìn)程的日志級(jí)別。這個(gè)命令內(nèi)部會(huì)連接http://《host:port》/logLevel?log=《name》
Datanode
運(yùn)行一個(gè)HDFS的datanode。用法:hadoopdatanode[-rollback]
命令選項(xiàng)描述
-rollback將datanode回滾到前一個(gè)版本。這需要在停止datanode,分發(fā)老的hadoop版本之后使用。
dfsadmin
此Hadoop命令用來運(yùn)行一個(gè)HDFS的dfsadmin客戶端。 命令選項(xiàng)描述 -report報(bào)告文件系統(tǒng)的基本信息和統(tǒng)計(jì)信息。 -safemodeenter|leave|get|wait安全模式維護(hù)命令。安全模式是Namenode的一個(gè)狀態(tài),這種狀態(tài)下,Namenode
1. 不接受對(duì)名字空間的更改(只讀)
2. 不復(fù)制或刪除塊
Namenode會(huì)在啟動(dòng)時(shí)自動(dòng)進(jìn)入安全模式,當(dāng)配置的塊最小百分比數(shù)滿足最小的副本數(shù)條件時(shí),會(huì)自動(dòng)離開安全模式。安全模式可以手動(dòng)進(jìn)入,但是這樣的話也必須手動(dòng)關(guān)閉安全模式。-refreshNodes重新讀取hosts和exclude文件,更新允許連到Namenode的或那些需要退出或入編的Datanode的集合。 -finalizeUpgrade終結(jié)HDFS的升級(jí)操作。Datanode刪除前一個(gè)版本的工作目錄,之后Namenode也這樣做。這個(gè)操作完結(jié)整個(gè)升級(jí)過程。 -upgradeProgressstatus|details|force請(qǐng)求當(dāng)前系統(tǒng)的升級(jí)狀態(tài),狀態(tài)的細(xì)節(jié),或者強(qiáng)制升級(jí)操作進(jìn)行。 -metasavefilename保存Namenode的主要數(shù)據(jù)結(jié)構(gòu)到hadoop.log.dir屬性指定的目錄下的《filename》文件。 對(duì)于下面的每一項(xiàng),《filename》中都會(huì)一行內(nèi)容與之對(duì)應(yīng)1.Namenode收到的Datanode的心跳信號(hào)
3. 等待被復(fù)制的塊
4. 正在被復(fù)制的塊
4.等待被刪除的塊
-setQuota《quota》《dirname》。..《dirname》為每個(gè)目錄《dirname》設(shè)定配額《quota》。 目錄配額是一個(gè)長(zhǎng)整型整數(shù),強(qiáng)制限定了目錄樹下的名字個(gè)數(shù)。命令會(huì)在這個(gè)目錄上工作良好,以下情況會(huì)報(bào)錯(cuò):
1. N不是一個(gè)正整數(shù),或者
2. 用戶不是管理員,或者
3. 這個(gè)目錄不存在或是文件,或者
4. 目錄會(huì)馬上超出新設(shè)定的配額。
? ? ? ? -clrQuota《dirname》。..《dirname》為每一個(gè)目錄《dirname》清除配額設(shè)定。命令會(huì)在這個(gè)目錄上工作良好,以下情況會(huì)報(bào)錯(cuò):
1. 這個(gè)目錄不存在或是文件,或者
2. 用戶不是管理員。 如果目錄原來沒有配額不會(huì)報(bào)錯(cuò)。
-help[cmd]顯示給定命令的幫助信息,如果沒有給定命令,則顯示所有命令的幫助信息
jobtracker 此Hadoop命令用來運(yùn)行MapReducejobTracker節(jié)點(diǎn)。用法:hadoopjobtracker namenode 運(yùn)行namenode。有關(guān)升級(jí),回滾,升級(jí)終結(jié)的更多信息請(qǐng)參考升級(jí)和回滾。
用法:hadoopnamenode[-format]|[-upgrade]|[-rollback]|[-finalize]|[-importCheckpoint] 命令選項(xiàng)描述 -format格式化namenode。它啟動(dòng)namenode,格式化namenode,之后關(guān)閉namenode。-upgrade分發(fā)新版本的hadoop后,namenode應(yīng)以u(píng)pgrade選項(xiàng)啟動(dòng)。 -rollback將namenode回滾到前一版本。這個(gè)選項(xiàng)要在停止集群,分發(fā)老的hadoop版本后使用。-finalizefinalize會(huì)刪除文件系統(tǒng)的前一狀態(tài)。最近的升級(jí)會(huì)被持久化,rollback選項(xiàng)將再不可用,升級(jí)終結(jié)操作之后,它會(huì)停掉namenode。 -importCheckpoint從檢查點(diǎn)目錄裝載鏡像并保存到當(dāng)前檢查點(diǎn)目錄,檢查點(diǎn)目錄由fs.checkpoint.dir指定。 secondarynamenode 運(yùn)行HDFS的secondarynamenode。參考SecondaryNamenode了解更多。用法:hadoopsecondarynamenode[-checkpoint[force]]|[-geteditsize]
命令選項(xiàng)描述
-checkpoint[force]如果EditLog的大小》=fs.checkpoint.size,啟動(dòng)Secondarynamenode的檢查點(diǎn)過程。如果使用了-force,將不考慮EditLog的大小。-geteditsize打印EditLog大小。tasktracker 運(yùn)行MapReduce的taskTracker節(jié)點(diǎn)。 用法:hadooptasktracker。本節(jié)關(guān)于Hadoop命令使用方法介紹到這里。
評(píng)論