【實驗目的】
1)熟練hdfs shell命令操作
2)理解hdfs shell和linux shell命令
【實驗原理】
安裝好hadoop環境之后,可以執行hdfs shell命令對hdfs 的空間進行操作。我們通過命令行和HDFS打交道,進一步增加對HDFS的認識,HDFS命令行接口是一種最直接,也比較簡單的一種方式。
調用文件系統(FS)Shell命令應使用bin/hadoop fs 的形式。也可以使用其他形式:
hadoop dfs {args}
hdfs dfs {args}
所有的FS shell命令使用URI路徑作為參數。URI格式是scheme://authority/path。HDFS的scheme是hdfs,對本地文件系統,scheme是file。其中scheme和authority參數都是可選的,如果未加指定,就會使用配置中指定的默認scheme。
【實驗環境】
本次環境是:centos6.5 + jdk1.7.0_79 + hadoop2.4.1
工具包在/simple/soft目錄下
【實驗步驟】
一、hdfs shell命令
1.1 在任意目錄下(需要配置hadoop環境變量),執行命令:start-dfs.sh啟動hdfs服務。如圖1所示
圖1
1.2 啟動hdfs之后,通過jps查看hdfs服務是否啟動,執行命令:jps 。如圖2所示
圖2
1.3 在任意目錄下執行如下命令(配置hadoop環境變量):hdfs dfs -help,查看到所有hdfs shell命令解釋。如圖3所示
圖3
1.4 appendToFile的使用:假如hdfs上已經存在一個文件words.txt,具有一些信息,假如不存在words.txt,先在本地通過touch /simple/words.txt在simple下創建words.txt文件,並通過cd /simple 命令進入simple目錄下執行vim words.txt命令進行編譯,編譯完成通過esc退出編輯狀態,再:wq保存退出。然后通過hdfs dfs -put /simple/words.txt /上傳到hdfs根目錄並通過cat命令進行查看,如圖4:
圖4
在本地simple文件夾中建立words.txt,把指定的本地文件中(/simple/words.txt)的內容追加到到hdfs系統的words.txt文件。執行命令:`hdfs dfs -appendToFile /simple/words.txt /words.txt `。從下面的命令可以看出,hdfs中的文件words.txt中的內容多一部分。如圖5所示
圖5
1.5 rmr循環刪除hdfs系統中的目錄。執行命令:hdfs dfs -rmr /words.txt 可以把hdfs根目錄下的words.txt文件刪除。如圖6所示
圖6
1.6 touchz的使用:在hdfs系統指定的目錄下創建一個文件。執行命令:hdfs dfs -touchz /newword.txt。如圖7所示
圖7
1.7 mkdir的使用:在hdfs系統的指定位置創建一個目錄,執行命令:hdfs dfs -mkdir -p /aa/bb。如圖8所示
圖8
1.8 moveFromLocal的使用:把指定的本地的文件移到hdfs系統指定的位置,執行命令:hdfs dfs -moveFromLocal /simple/words.txt /aa 。如圖9所示
圖9
1.9 chgrp的使用:修改hdfs系統中指定文件或文件夾的用戶所屬組 ,執行命令:hdfs dfs -chgrp -R root /。如圖10所示
圖10
1.10 chmod的使用:改變指定目錄文件的權限,如果指定R表示遞歸進行改變所有文件目錄和文件的權限.用戶必須是文件所有者或超級用戶,執行命令:hdfs dfs -chmod -R 777 /。如圖11所示
圖11
1.11 chown的使用:改變文件的所有者,用戶必須是超級用戶,執行命令:hdfs dfs -chown -R root:supergroup /。如圖12所示
圖12