1、namenode –format:格式化DFS 文件系統
2、secondaryNameNode: 運行DFS的 SecondaryNameNode 進程
hadoop secondarynamenode
[-checkpoint [force]]
//當 EditLog超過規定大小( 默認64MB)時,啟動檢查 secondarynamenode的checkpoint 過程;如果啟用 force選項,則強制執行checkpoint過程。
[-geteditsize] //在終端上顯示EditLog 文件的大小
3、namenode:運行 DFS的namenode 進程
hadoop namenode
[-format] //格式化namenode
[-update] //在Hadoop 升級后,應該使用這個命令啟動 namenode
[-rollback] //使用namenode 回滾前一個版本
[-finalize] //刪除文件系統的前一個狀態,這會導致系統不能回滾到前一個狀態
[-importCheckpoint] //復制和備份checkpoint 的狀態到當前 checkpoint
4、 datanode:運行 DFS的datanode 進程。你可以使用如下命令將 Hadoop回滾到前一個版本。它的用法如下:
hadoop datanode [-rollback]
5、 dfsadmin:運行 DFS的管理客戶端。在dfsadmin命令中可以執行一些類似 Windows中高級用戶才能執行的命令,比如升級和回滾等。
hadoop dfsadmin [GENERIC_OPTIONS]
[-report] //在終端上顯示文件系統的基本信息
[-safemote enter | leave | get | wait ] //Hadoop 的安全模式及相關維護;在安全模式中系統是只讀的,數據塊也不可以刪除或復制
[-refreshNodes][-finalizeUpgrade] //重新讀取hosts 和exclude文件,將新的被允許加入到集群中的datanode連入,同時斷開與那些從集群出去的 datanode的連接
[-upgradeProgress status | details | force] //獲得當前系統的升級狀態和細節,或者強迫進行升級過程
[-metasave filename] //將namenode 的主要數據結構保存到指定目錄下
[-setQuota <quota><dirname>…<dirname>] // 為每個目錄設定配額
[-clrQuota <dirname>…<dirname>] // 清除這些目錄的配額
[-setSpaceQuota <quota><dirname>…<dirname>] // 為每個目錄設置配額空間
[-clrSpaceQuota <dirname>…<dirname>] // 清除這些目錄的配額空間
[-help [cmd]] //顯示命令的幫助信息
6、mradmin:運行 MapReduce的管理客戶端
7、fsck:運行 HDFS的檢測進程。fsck 在HDFS中被用來檢查系統中的不一致情況,比如某文件只有目錄,但數據塊已經丟失或副本數目不足。與 Linux不同,這個命令只用於檢測,不能進行修復。
hadoop fsck [GENERIC_OPTIONS] <path> [-move | -delete | -openforwrite ] [-files [-blocks [-locations | -racks ]]]
//<path> 檢查的起始目錄
//-move 移動受損文件到 /lost+found
//-delete 刪除受損文件
//-openforwrite 在終端上顯示為寫打開的文件
//-files 在終端上顯示正被檢查的文件
//-blocks 在終端上顯示塊信息
//-location 在終端上顯示每個塊的位置
//-rack 顯示 datanode的網絡拓撲結構圖
8、balancer:運行一個文件系統平衡進程。很多原因都會造成數據在集群內分布不均衡,一般來說,當集群中添加新的 datanode時,可以使用這個命令來進行負載均衡。其用法如下:
hadoop balancer
9、jobtracker:運行一個 jobtracker進程
10、pipes:運行一個 Pipes任務
11、tasktracker:運行一個 tasktracker進程
12、job:管理運行中的 MapReduce任務
13、queue:獲得運行中的 MapReduce隊列的信息
14、version:打印版本號
15、jar<jar>:運行一個 jar文件
16、daemonlog:讀取 /設置守護進程的日志記錄級別
17、distcp: distcp命令用於DistCp( 即Dist分布式, C盤拷貝) 分布式拷貝。用於在集群內部及集群之間拷貝數據。
18、archives: archives命令是Hadoop 定義的檔案格式。 archives對應一個文件系統,它的擴展名是 .har,包含元數據和數據文件。
19、fs: fs可以說是HDFS 最常用的命令,這是一個高度類似 Linux文件系統的命令集。你可以使用這些命令查看HDFS上的目錄結構文件、上傳和下載文件、創建文件夾、復制文件等。
hadoop fs [genericOptions]
[-ls <path>] //顯示目標路徑中當前目錄下的所有文件
[-lsr <path>] //遞歸顯示目標路徑下的所有目錄及文件 (深度優先)
[-du <path>] //以字節為單位顯示目錄中所有文件的大小,或該文件的大小 (如果目標為文件)
[-dus <path>] //以字節為單位顯示目標文件大小 (用於查看文件夾大小)
[-count[-q] <path>] //將目錄的大小、包含文件 (包括文件) 個數的信息輸出到屏幕 (標准stdout)
[-mv <src> <dst>] //把文件或目錄移動到目標路徑,這個命令允許同時移動多個文件,但是只允許移動到一個目標路徑中,參數中的最后一個文件夾即為目標路徑
[-cp <src> <dst>] //復制文件或目錄到目標路徑,這個命令允許同時復制多個文件,如果復制多個文件,目標路徑必須是文件夾
[-rm [-skipTrash] <path>] //刪除文件,這個命令不能刪除文件夾
[-rmr [-skipTrash] <path>] //刪除文件夾及其下的所有文件
[-expunge]
[-put <localsrc> ... <dst>] //從本地文件系統上傳文件到 HDFS中
[-copyFromLocal <localsrc> ... <dst>] //與put 相同,在 0.18版中,只允許上傳一個文件,但是在 0.20中,這兩個命令已經完全一樣了
[-moveFromLocal <localsrc> ... <dst>] //與put 相同,但是文件上傳之后會從本地文件系統中移除
[-get [-ignoreCrc] [-crc] <src> <localdst>] //復制文件到本地文件系統。這個命令可以選擇是否忽視校驗和,忽視校驗和下載主要用於挽救那些已經發生錯誤的文件
[-getmerge <src> <localdst> [addnl]] //對源目錄中的所有文件進行排序並寫入目標文件中,文件之間以換行符分隔
[-cat <src>] //在終端顯示( 標准輸出 stdout)文件中的內容,類似Linux系統中的 cat
[-text <src>]
[-copyToLocal [-ignoreCrc] [-crc] <src> <localdst>] //與get 相同
[-moveToLocal [-crc] <src> <localdst>] //這個命令在0.20 版本中沒有完成
[-mkdir <path>] //創建文件夾
[-setrep [-R] [-w] <rep> <path/file>] //改變一個文件的副本個數。參數 -R可以遞歸地對該目錄下的所有文件執行統一操作
[-touchz <path>] //類似Linux 中的touch,創建一個空文件
[-test -[ezd] <path>] //將源文件輸出為文本格式並顯示到終端上,通過這個命令可以查看TextRecordInputStream(SequenceFile等) 或zip文件
[-stat [format] <path>] //以指定格式返回路徑的信息
[-tail [-f] <file>] //在終端上顯示( 標注輸出 stdout)文件的最后1kb 內容。-f選項的行為與 Linux中一致,會持續檢測新添加到文件中的內容,這在查看日志文件時會顯得非常方便
[-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...] //改變文件的權限,只有文件的所有者或是超級用戶才能使用這個命令。 -R可以遞歸地改變文件夾內所有文件的權限
[-chown [-R] [OWNER][:[GROUP]] PATH...] //改變文件的擁有者,-R可以遞歸地改變文件夾內所有文件的擁有者。同樣,這個命令只有超級用戶才能使用
[-chgrp [-R] GROUP PATH...] //改變文件所屬的組,-R可以遞歸地改變文件夾內所有文件所屬的組,這個命令只有超級用戶才能使用
[-help [cmd]] //這是命令的幫助信息
