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