Hadoop---HDFS的Shell命令
HDFS:是將客戶端的大檔案存放在很多節點的資料塊中。
NameNode:NameNode的作用是管理檔案目錄結構,是管理資料節點的。
NameNode維護兩套資料,一套是檔案目錄與資料塊之間的關係(資料是靜態,放在磁碟上,通過fsimage和edits檔案來維護),
另一套是資料塊與節點之間的關係(資料是動態,不持久化到磁碟,每當叢集啟動會自動建立這些資訊)
DataNode:DataNode的作用是HDFS中真正儲存資料的。
Block:Block本質上是一個邏輯概念,不會真正的儲存資料,只是劃分檔案的。每個Block是64MB
如果不想使用64MB大小,可以在core-site.xml中的dfs.block.size引數覆蓋該值(單位位元組)
Block劃分檔案後存放的位置可以在core-default.xml中的dfs.data.dir引數檢視,
以"blk_"開頭的檔案就是儲存資料的block,字尾是"meta"的檔案就是block的源資料檔案,存放一些元資料資訊
副本:副本就是備份,目的是為了安全,因為叢集環境的不可靠,所有使用副本機制保證資料的安全性。
預設的副本數量為3,在hdfs-default.xml中的dfs.replication引數中設定
SecondaryNameNode:作用是合併NameNode中的edits到fsimage中。
50070埠,檢視NameNode狀態
50075埠,檢視DataNode
50090埠,檢視SecondaryNameNode
50030埠,檢視JobTracker狀態
50060埠,檢視TaskTracker
HDFS shell
1.0檢視幫助
hadoop fs -help <cmd>
1.1上傳(linux路徑,hdfs路徑)
hadoop fs -put /hadoop/test/demo.txt /test
1.2下載檔案(hdfs路徑,linux路徑)
hadoop fs -get /test/demo.txt /hadoop/test
1.3檢視檔案列表
hadoop fs -ls /
1.4遞迴檢視目錄結構
hadoop fs -lsr /user
1.5檢視檔案內容
hadoop fs -cat /hbase-env.sh
1.6統計目錄下個檔案大小(單位位元組)
hadoop fs -du /hbase
1.7彙總統計目錄下檔案大小
hadoop fs -dus /hbase
1.8統計資料夾數量
hadoop fs -count /usr
1.9移動檔案(第一個路徑是原始檔,第二個路徑是目的目錄)
hadoop fs -mv /user/root/abc /user
1.10複製檔案(第一個路徑是原始檔,第二個路徑是目的目錄)
hadoop fs -cp /user/abc /user/root
1.11刪除檔案/空白資料夾(不能刪除非空目錄)
hadoop fs -rm /user/abc
1.12遞迴刪除(刪除指定目錄的所有子目錄和檔案)
hadoop fs -rmr /user
1.13從本地複製(與put上傳一樣)
hadoop fs -copyFromLocal /hadoop/test/demo.txt /test
1.14從本地移動(linux路徑,hdfs路徑)
hadoop fs -moveFromLocal /hadoop/test/demo.txt /test
1.15合併到本地(hdfs路徑,linux路徑)
hadoop fs -getmerge /hbase abc
1.16檢視檔案內容(與cat一樣)
hadoop fs -text /hbase-env.sh
1.17建立空白資料夾
hadoop fs -mkdir /abc
1.18設定副本數量(副本數預設1改為2,多了一個副本,hdfs會自動執行檔案的複製工作,產生新的副本)
hadoop fs -setrep 2 /install.log(檔案)
hadoop fs -setrep -R 2 /install.log(資料夾需要加個-R)
hadoop fs -setrep -R -w 2 /install.log(加個-w表示等待副本操作結束才退出命令)
1.19建立空白檔案
hadoop fs -touchz /emptyfile
1.20顯示檔案的統計資訊(依次表示檔案大小,檔名稱,塊大小,副本數,訪問時間)
hadoop fs -stat '%b %n %o %r %Y' /install.log
1.21檢視檔案尾部內容
hadoop fs -tail /install.log
1.22修改檔案許可權
hadoop fs -chmod 755 /emptyfile
1.23修改檔案屬主
hadoop fs -chown root /emptyfile
1.24修改檔案屬組
hadoop fs -chgrp supergroup /emptyfile