1. 程式人生 > >Hadoop---HDFS的Shell命令

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