HDFS處理文件的命令和Linux命令差不多,但注意區分大小寫。
(Linux區分大小寫,Windows不區分大小寫)
?
一、fs命令
鍵入命令“./bin/hadoop fs”將輸出能夠支持的命令列表。
hdfs shell命令、Usage: java FsShell
?????[-ls <path>]
?????[-lsr <path>]
?????[-df <path>]
?????[-du [-s] [-h] <path>]
hdfs 命令??????[-dus <path>]
?????[-count [-q] <path>]
?????[-mv <src> <dst>]
?????[-cp <src> <dst>]
?????[-rm [-skipTrash] <path>]
hadoopfs命令詳解、?????[-rmr [-skipTrash] <path>]
?????[-expunge]
?????[-put <localsrc> … <dst>]
?????[-copyFromLocal <localsrc> … <dst>]
?????[-moveFromLocal <localsrc> … <dst>]
hdfs命令大全,?????[-get [-ignoreCrc] [-crc] <src> <localdst>]
?????[-getmerge <src> <localdst> [addnl]]
?????[-cat <src>]
?????[-text <src>]
?????[-copyToLocal [-ignoreCrc] [-crc] <src> <localdst>]
hadoop查看hdfs目錄、?????[-moveToLocal [-crc] <src> <localdst>]
?????[-mkdir <path>]
?????[-setrep [-R] [-w] <rep> <path/file>]
?????[-touchz <path>]
?????[-test –[ezd] <path>]
三十講筆記??????[-stat [format] <path>]
?????[-tail [-f] <file>]
?????[-chmod [-R] <MODE[, MODE] … | OCTALMODE> PATH…]
?????[-chown [-R] [OWNER] [: [GROUP]] PATH…]
?????[-chmod [-R] GROUP PATH…]
hadoop的shell命令、?????[-help [cmd]]
下面說說最主要的幾個命令。
1. 創建文件夾
HDFS上的文件目錄結構類似Linux,根目錄使用/表示。下面的命令在/user/hadoop目錄下建立input。
denny@Ubuntu1:/opt/hadoop-1.0.3$ hadoop fs –mkdir /user/hadoop/input
denny@Ubuntu1:/opt/hadoop-1.0.3$ hadoop fs –ls /user/hadoop
Found1 items
drwxr-xr-x? - denny supergroup??? ?0 ?2014-09-21 ?23:38 ?/user/hadoop/input
?
2. 上傳文件test.txt到input下。
denny@Ubuntu1:/opt/hadoop-1.0.3$ hadoop fs –put test.txt /user/hadoop/input
denny@Ubuntu1:/opt/hadoop-1.0.3$ hadoop fs –ls /user/hadoop/input
Found1 items
-rw-r--r--1 denny supergroup???? ?75 ?2014-09-21 ?23:45 ?/user/hadoop/input/test.txt
還可以用-copyFromLocal命令。
?
3.查看test.txt文件內容
denny@Ubuntu1:/opt/hadoop-1.0.3$ hadoop fs –text /user/hadoop/input/test.txt
helloworld
helloworld…
還可以用-cat、-tail命令查看文件內容,但是對于壓縮文件只能用-text參數查看,否則是亂碼。
?
4.把test.txt文件復制到本地(下載,導出)
denny@Ubuntu1:/opt/hadoop-1.0.3$ hadoop fs –get /user/hadoop/input/test.txt
還可以用-copyToLocal命令。
?
5.刪除test.txt文件
denny@Ubuntu1:/opt/hadoop-1.0.3$ hadoop fs –rm /user/hadoop/input/test.txt
?
二、namenode命令
運行namenode進行格式化、升級、回滾等操作。
命令選項 | 功能描述 |
-format | 格式化NameNode,啟動NameNode,格式化NameNode,之后關閉NameNode |
-upgrade | 分發新版本的Hadoop后,NameNode應以upgrade選項啟動 |
-rollback | 將NameNode回滾到前一版本。此選項要在停止集群、分發Hadoop舊版本后使用 |
-finalize | 刪除文件系統的前一狀態。最近的升級會被持久化,rollback選項將再不可用升級終結操作之后,會停掉NameNode |
-importCheckPoint | 從檢查點目錄裝在鏡像并保存到當前檢查點目錄,檢查點目錄由fs.checkpoint.dir指定 |
(注:Hadoop集群第一次啟動時一定要格式化NameNode,否則NameNode會報錯)
?
三、job命令
命令選項 | 功能描述 |
-submit <job file> | 提交作業 |
-status <job-id> | 打印Map和Reduce完成百分比和所計數器 |
-counter <job-id> <group-name> <counter-name> | 打印計數器的值 |
-kill <job-id> | 殺死指定作業 |
-events <job-id> <from-event-#> <#-of-events> | 打印給定范圍內的JobTracker接收到的事件細節 |
-history [all] <jobOutputDir> | -history <jobOutputDir>用于打印作業細節,失敗及被殺死原因細節。更多關于一個作業細節(如成功的任務、做過的任務嘗試等信息)可以通過指定[all]選項查看 |
-list [all] | 顯示所有作業。-list只顯示將要完成的作業 |
-kill-task <task-id> | 殺死任務,被殺死的任務不會不利于失敗嘗試 |
-fail-task <task-id> | 使任務失敗,被失敗的任務會對失敗嘗試不利 |
?
四、fsck命令
顯示塊的信息,列出文件系統中各文件由那些塊構成。用于和MapReduce作業交互和命令。
命令選項 | 描述信息 |
<path> | 檢查起始的目錄 |
-move | 移動受損文件到/lost+found |
-delete | 刪除受損文件 |
openforwrite | 打印寫打開的文件 |
-files | 打印正在被檢查的文件 |
-blocks | 打印塊信息報告 |
-locations | 打印每個塊的位置信息 |
-racks | 打印datanode的網絡拓撲結構 |
?
五、pipe命令
該命令用于運行pipe作業。
命令選項 | 描述信息 |
-conf <path> | 作業的配置 |
-jobconf <key=value>, <key=value>, … | 增加/覆蓋作業的配置項 |
-input <path> | 輸入目錄 |
-output <path> | 輸出目錄 |
-jar<jar file> | JAR文件名 |
-inputformat <class> | InputFormat類 |
-map <class> | Java Map類 |
-partitioner <class> | Java Partitioner |
-reduce <class> | Java Reduce類 |
-write <class> | Java RecordWriter |
-program <executable> | 可執行程序的URI |
-reduces <num> | Reduce個數 |