常見Hadoop命令使用方法詳解
本節繼續和大家一起學習一下Hadoop命令的使用方法,在學習Hadoop時只有了解了Hadoop命令如何使用,才能更好的對Hadoop進行操作,下面讓我們一起來學習Hadoop命令吧。
version
此Hadoop命令用來打印版本信息。
用法:hadoopversion
CLASSNAME
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客戶端。
用法:hadoopdfsadmin[GENERIC_OPTIONS][-report][-safemodeenter|leave|get|wait][-refreshNodes][-finalizeUpgrade][-upgradeProgressstatus|details|force][-metasavefilename][-setQuota<quota><dirname>...<dirname>][-clrQuota<dirname>...<dirname>][-help[cmd]]
命令選項描述
-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的心跳信號
2.等待被復制的塊
3.正在被復制的塊
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命令使用方法介紹到這里。
【編輯推薦】
- Hadoop命令手冊使用指南
- 如何實現Cassandra與Hadoop MapReduce的整合?
- Hadoop集群與Hadoop性能優化
- HadoopHBase實現配置簡單的單機環境
- Hadoop MapReduce的簡單應用Cascading詳解