Hadoop命令手册
Hadoop命令手冊(cè)
-
??? 概述
??????? 常規(guī)選項(xiàng)
??? 用戶(hù)命令
??????? archive
??????? distcp
??????? fs
??????? fsck
??????? jar
??????? job
??????? pipes
??????? version
??????? CLASSNAME
??? 管理命令
??????? balancer
??????? daemonlog
??????? datanode
??????? dfsadmin
??????? jobtracker
??????? namenode
??????? secondarynamenode
??????? tasktracker
概述
所有的hadoop命令均由bin/hadoop腳本引發(fā)。不指定參數(shù)運(yùn)行hadoop腳本會(huì)打印所有命令的描述。
用法:hadoop [--config confdir] [COMMAND] [GENERIC_OPTIONS] [COMMAND_OPTIONS]
Hadoop有一個(gè)選項(xiàng)解析框架用于解析一般的選項(xiàng)和運(yùn)行類(lèi)。
| --config confdir | 覆蓋缺省配置目錄。缺省是${HADOOP_HOME}/conf。 |
| GENERIC_OPTIONS | 多個(gè)命令都支持的通用選項(xiàng)。 |
| COMMAND 命令選項(xiàng)S | 各種各樣的命令和它們的選項(xiàng)會(huì)在下面提到。這些命令被分為 用戶(hù)命令 管理命令兩組。 |
常規(guī)選項(xiàng)
下面的選項(xiàng)被 dfsadmin, fs, fsck和 job支持。 應(yīng)用程序要實(shí)現(xiàn) Tool來(lái)支持 常規(guī)選項(xiàng)。
| -conf <configuration file> | 指定應(yīng)用程序的配置文件。 |
| -D <property=value> | 為指定property指定值value。 |
| -fs <local|namenode:port> | 指定namenode。 |
| -jt <local|jobtracker:port> | 指定job tracker。只適用于job。 |
| -files <逗號(hào)分隔的文件列表> | 指定要拷貝到map reduce集群的文件的逗號(hào)分隔的列表。 只適用于job。 |
| -libjars <逗號(hào)分隔的jar列表> | 指定要包含到classpath中的jar文件的逗號(hào)分隔的列表。 只適用于job。 |
| -archives <逗號(hào)分隔的archive列表> | 指定要被解壓到計(jì)算節(jié)點(diǎn)上的檔案文件的逗號(hào)分割的列表。 只適用于job。 |
用戶(hù)命令
hadoop集群用戶(hù)的常用命令。
archive
創(chuàng)建一個(gè)hadoop檔案文件。參考 Hadoop Archives.
用法:hadoop archive -archiveName NAME <src>* <dest>
| -archiveName NAME | 要?jiǎng)?chuàng)建的檔案的名字。 |
| src | 文件系統(tǒng)的路徑名,和通常含正則表達(dá)的一樣。 |
| dest | 保存檔案文件的目標(biāo)目錄。 |
distcp
遞歸地拷貝文件或目錄。參考DistCp指南以獲取等多信息。
用法:hadoop distcp <srcurl> <desturl>
| srcurl | 源Url |
| desturl | 目標(biāo)Url |
fs
用法:hadoop fs [GENERIC_OPTIONS] [COMMAND_OPTIONS]
運(yùn)行一個(gè)常規(guī)的文件系統(tǒng)客戶(hù)端。
各種命令選項(xiàng)可以參考HDFS Shell指南。
fsck
運(yùn)行HDFS文件系統(tǒng)檢查工具。參考Fsck了解更多。
用法:hadoop fsck [GENERIC_OPTIONS] <path> [-move | -delete | -openforwrite] [-files [-blocks [-locations | -racks]]]
| <path> | 檢查的起始目錄。 |
| -move | 移動(dòng)受損文件到/lost+found |
| -delete | 刪除受損文件。 |
| -openforwrite | 打印出寫(xiě)打開(kāi)的文件。 |
| -files | 打印出正被檢查的文件。 |
| -blocks | 打印出塊信息報(bào)告。 |
| -locations | 打印出每個(gè)塊的位置信息。 |
| -racks | 打印出data-node的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。 |
jar
運(yùn)行jar文件。用戶(hù)可以把他們的Map Reduce代碼捆綁到j(luò)ar文件中,使用這個(gè)命令執(zhí)行。
用法:hadoop jar <jar> [mainClass] args...
streaming作業(yè)是通過(guò)這個(gè)命令執(zhí)行的。參考Streaming examples中的例子。
Word count例子也是通過(guò)jar命令運(yùn)行的。參考Wordcount example。
job
用于和Map Reduce作業(yè)交互和命令。
用法:hadoop job [GENERIC_OPTIONS] [-submit <job-file>] | [-status <job-id>] | [-counter <job-id> <group-name> <counter-name>] | [-kill <job-id>] | [-events <job-id> <from-event-#> <#-of-events>] | [-history [all] <jobOutputDir>] |[-list [all]] | [-kill-task <task-id>] | [-fail-task <task-id>]
| -submit <job-file> | 提交作業(yè) |
| -status <job-id> | 打印map和reduce完成百分比和所有計(jì)數(shù)器。 |
| -counter <job-id> <group-name> <counter-name> | 打印計(jì)數(shù)器的值。 |
| -kill <job-id> | 殺死指定作業(yè)。 |
| -events <job-id> <from-event-#> <#-of-events> | 打印給定范圍內(nèi)jobtracker接收到的事件細(xì)節(jié)。 |
| -history [all] <jobOutputDir> | -history <jobOutputDir> 打印作業(yè)的細(xì)節(jié)、失敗及被殺死原因的細(xì)節(jié)。更多的關(guān)于一個(gè)作業(yè)的細(xì)節(jié)比如成功的任務(wù),做過(guò)的任務(wù)嘗試等信息可以通過(guò)指定[all]選項(xiàng)查看。 |
| -list [all] | -list all顯示所有作業(yè)。-list只顯示將要完成的作業(yè)。 |
| -kill-task <task-id> | 殺死任務(wù)。被殺死的任務(wù)不會(huì)不利于失敗嘗試。 |
| -fail-task <task-id> | 使任務(wù)失敗。被失敗的任務(wù)會(huì)對(duì)失敗嘗試不利。 |
pipes
運(yùn)行pipes作業(yè)。
用法:hadoop pipes [-conf <path>] [-jobconf <key=value>, <key=value>, ...] [-input <path>] [-output <path>] [-jar <jar file>] [-inputformat <class>] [-map <class>] [-partitioner <class>] [-reduce <class>] [-writer <class>] [-program <executable>] [-reduces <num>]
| -conf <path> | 作業(yè)的配置 |
| -jobconf <key=value>, <key=value>, ... | 增加/覆蓋作業(yè)的配置項(xiàng) |
| -input <path> | 輸入目錄 |
| -output <path> | 輸出目錄 |
| -jar <jar file> | Jar文件名 |
| -inputformat <class> | InputFormat類(lèi) |
| -map <class> | Java Map類(lèi) |
| -partitioner <class> | Java Partitioner |
| -reduce <class> | Java Reduce類(lèi) |
| -writer <class> | Java RecordWriter |
| -program <executable> | 可執(zhí)行程序的URI |
| -reduces <num> | reduce個(gè)數(shù) |
version
打印版本信息。
用法:hadoop version
CLASSNAME
hadoop腳本可用于調(diào)調(diào)用任何類(lèi)。
用法:hadoop CLASSNAME
運(yùn)行名字為CLASSNAME的類(lèi)。
管理命令
hadoop集群管理員常用的命令。
balancer
運(yùn)行集群平衡工具。管理員可以簡(jiǎn)單的按Ctrl-C來(lái)停止平衡過(guò)程。參考Rebalancer了解更多。
用法:hadoop balancer [-threshold <threshold>]
| -threshold <threshold> | 磁盤(pán)容量的百分比。這會(huì)覆蓋缺省的閥值。 |
daemonlog
獲取或設(shè)置每個(gè)守護(hù)進(jìn)程的日志級(jí)別。
用法:hadoop daemonlog -getlevel <host:port> <name>
用法:hadoop daemonlog -setlevel <host:port> <name> <level>
| -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。
用法:hadoop datanode [-rollback]
| -rollback | 將datanode回滾到前一個(gè)版本。這需要在停止datanode,分發(fā)老的hadoop版本之后使用。 |
dfsadmin
運(yùn)行一個(gè)HDFS的dfsadmin客戶(hù)端。
用法:hadoop dfsadmin [GENERIC_OPTIONS] [-report] [-safemode enter | leave | get | wait] [-refreshNodes] [-finalizeUpgrade] [-upgradeProgress status | details | force] [-metasave filename] [-setQuota <quota> <dirname>...<dirname>] [-clrQuota <dirname>...<dirname>] [-help [cmd]]
| -report | 報(bào)告文件系統(tǒng)的基本信息和統(tǒng)計(jì)信息。 |
| -safemode enter | 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ù)滿(mǎn)足最小的副本數(shù)條件時(shí),會(huì)自動(dòng)離開(kāi)安全模式。安全模式可以手動(dòng)進(jìn)入,但是這樣的話(huà)也必須手動(dòng)關(guān)閉安全模式。 |
| -refreshNodes | 重新讀取hosts和exclude文件,更新允許連到Namenode的或那些需要退出或入編的Datanode的集合。 |
| -finalizeUpgrade | 終結(jié)HDFS的升級(jí)操作。Datanode刪除前一個(gè)版本的工作目錄,之后Namenode也這樣做。這個(gè)操作完結(jié)整個(gè)升級(jí)過(guò)程。 |
| -upgradeProgress status | details | force | 請(qǐng)求當(dāng)前系統(tǒng)的升級(jí)狀態(tài),狀態(tài)的細(xì)節(jié),或者強(qiáng)制升級(jí)操作進(jìn)行。 |
| -metasave filename | 保存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) 2. 等待被復(fù)制的塊 3. 正在被復(fù)制的塊 4. 等待被刪除的塊 |
| -setQuota <quota> <dirname>...<dirname> | 為每個(gè)目錄 <dirname>設(shè)定配額<quota>。目錄配額是一個(gè)長(zhǎng)整型整數(shù),強(qiáng)制限定了目錄樹(shù)下的名字個(gè)數(shù)。 命令會(huì)在這個(gè)目錄上工作良好,以下情況會(huì)報(bào)錯(cuò): 1. N不是一個(gè)正整數(shù),或者 2. 用戶(hù)不是管理員,或者 3. 這個(gè)目錄不存在或是文件,或者 4. 目錄會(huì)馬上超出新設(shè)定的配額。 |
| -clrQuota <dirname>...<dirname> | 為每一個(gè)目錄<dirname>清除配額設(shè)定。 命令會(huì)在這個(gè)目錄上工作良好,以下情況會(huì)報(bào)錯(cuò): 1. 這個(gè)目錄不存在或是文件,或者 2. 用戶(hù)不是管理員。 如果目錄原來(lái)沒(méi)有配額不會(huì)報(bào)錯(cuò)。 |
| -help [cmd] | 顯示給定命令的幫助信息,如果沒(méi)有給定命令,則顯示所有命令的幫助信息。 |
jobtracker
運(yùn)行MapReduce job Tracker節(jié)點(diǎn)。
用法:hadoop jobtracker
namenode
運(yùn)行namenode。有關(guān)升級(jí),回滾,升級(jí)終結(jié)的更多信息請(qǐng)參考升級(jí)和回滾。
用法:hadoop namenode [-format] | [-upgrade] | [-rollback] | [-finalize] | [-importCheckpoint]
| -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版本后使用。 |
| -finalize | finalize會(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的secondary namenode。參考Secondary Namenode了解更多。
用法:hadoop secondarynamenode [-checkpoint [force]] | [-geteditsize]
| -checkpoint [force] | 如果EditLog的大小 >= fs.checkpoint.size,啟動(dòng)Secondary namenode的檢查點(diǎn)過(guò)程。 如果使用了-force,將不考慮EditLog的大小。 |
| -geteditsize | 打印EditLog大小。 |
tasktracker
運(yùn)行MapReduce的task Tracker節(jié)點(diǎn)。
用法:hadoop tasktracker
出處:http://hadoop.apache.org/docs/r1.0.4/cn/commands_manual.html
總結(jié)
以上是生活随笔為你收集整理的Hadoop命令手册的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Machine Learning wee
- 下一篇: Hadoop Shell命令