爲了每次執行Hadoop的時候,不必須要前者加上hadoop的安裝的絕對路徑,要做的事情就是將其安裝路徑加入到PATH中,這樣就可以直接執行hadoop命令。
如下:
vim /etc/profile中加入一句
export HADOOP_INSTALL=/home/hadoopCluster/hadoop2.5.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命令的時,默認的工作路徑就是在/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