為了每次執行hadoop的時候,不必須要前者加上hadoop的安裝的絕對路徑,要做的事情就是将其安裝路徑加入到PATH中,這樣就可以直接執行hadoop指令。如下:
vim /etc/profile中加入一句
export HADOOP_INSTALL=/usr/local/hadoop1.1.2
注意這裡要寫HADOOP_INSTALL,因為如果寫HADOOP_HOME會在執行指令的時候提醒該已經deprecated
然後将其bin加入到PATH中
export PATH=$HADOOP_INSTALL/bin:$PATH
在使用hadoop指令的時候,必須要保證Hadoop服務啟動了。
基本檔案指令:格式為:hadoop fs -cmd <args>
HDFS有一個預設的工作目錄 /user/$USER,$USER就是目前登入的使用者名,隻有将檔案放入HDFS上後,才可以運作Hadoop程式來處理它。
基本的參數如下,省略了前面的hadoop fs
注意這裡的path不用加上/user/$USER,預設會自動的建立父目錄
注意hadoop 2.0後,直接用hdfs dfs 替換 hadoop fs
在利用hadoop指令的時,預設的工作路徑就是在/user/$USER
1. -ls path
列出path目錄下的内容,包括檔案名,權限,所有者,大小和修改時間。
2. -lsr path
與ls相似,但遞歸地顯示子目錄下的内容。
3. -du path
顯示path下所有檔案磁盤使用情況下,用位元組大小表示,檔案名用完整的HDFS協定字首表示。
4. -dus path
與-du相似,但它還顯示全部檔案或目錄磁盤使用情況
5. -mv src dest
在HDFS中,将檔案或目錄從HDFS的源路徑移動到目标路徑。
6. -cp src dest
在HDFS中,将src檔案或目錄複制到dest。
7. –rm path
删除一個檔案或目錄
8. –rmr path
删除一個檔案或遞歸删除目錄
注意:這裡的mv cp操作的源路徑和目的路徑都是在HDFS中的路徑檔案
9. –put localSrc dest
将本地檔案或目錄localSrc上傳到HDFS中的dest路徑。
10. –copyFromLocal localSrc dest
與-put指令相同
11. –moveFromLocal localSrc dest
将檔案或目錄從localSrc上傳到HDFS中的dest目錄,再删除本地檔案或目錄localSrc。
12 –get [-crc] src localDest
将檔案或目錄從HDFS中的src拷貝到本地檔案系統localDest。
13 –getmerge src localDest [addnl]
将在HDFS中滿足路徑src的檔案合并到本地檔案系統的一個檔案localDest中。
14 –cat filename
顯示檔案内容到标準輸出上。
15. -copyToLocal [-crc] src localDest
與-get指令相同。
16 -moveToLocal [-crc] src localDest
與-get指令相似,但拷貝結束後,删除HDFS上原檔案。
17 -mkdir path
在HDFS中建立一個名為path的目錄,如果它的上級目錄不存在,也會被建立,如同linux中的mkidr –p。
18 -setrep [-R] [-w] rep path
設定目标檔案的複制數。
19 -touchz path
建立一個檔案。時間戳為目前時間,如果檔案本就存在就失敗,除非原檔案長充為0。
20 -test –[ezd] path
如果路徑(path)存在,傳回1,長度為0(zero),或是一個目錄(directory)。
21 –stat [format] path
顯示檔案所占塊數(%b),檔案名(%n),塊大小(%n),複制數(%r),修改時間(%y%Y)。
22 –tail [-f] file
顯示檔案最後的1KB内容到标準輸出。
23 –chmod [-R] [owner][:[group]] path…
遞歸修改時帶上-R參數,mode是一個3位的8進制數,或是[augo]+/-{rwxX}。
24 –chgrp [-R] group
設定檔案或目錄的所有組,遞歸修改目錄時用-R參數。
25 –help cmd
顯示cmd指令的使用資訊,你需要把指令的“-”去掉
本文轉自 zhao_xiao_long 51CTO部落格,原文連結:http://blog.51cto.com/computerdragon/1259214