標籤:hadoop叢集 hadoop hdfs shell Distributed File System
一、hadoop1.1.0的介紹
- hadoop是適合大資料的分布式儲存和計算的平台
- hadoop核心組成由hdfs和mapreduce組成
- hdfs是主從式結構,主節點只有一個,是namenode:從節點有很多個
- Distributed File System與HDFS (HDFS體繫結構與基本概念)
- Distributed File System
- 資料量越來越多,在一個作業系統管轄的範圍存不下了,那麼就分配到更多的作業系統管理的磁碟中,但是不方便管理和維護,因此迫切需要一種系統來管理多台機器上 的檔案,這就是分布式檔案管理系統 。
- 是一種允許檔案通過網路在多台主機上分享的檔案系統,可讓多機器上的多使用者分享檔案和儲存空間。
- 通透性。讓實際上是通過網路來訪問檔案的動作,由程式與使用者看來,就像是訪問本地的磁碟一般。
- 容錯。即使系統中有某些節點離線,整體來說系統仍然可以持續運作而不會有資料損失。
- 分布式檔案管理系統很多,hdfs只是其中一種。適用於一次寫入多次查詢的情況,不支援並發寫情況,小檔案不合適。
二、HDFS的shell操作
- 調用檔案系統(FS)Shell命令應使用 bin/hadoop fs 的形式。
- 所有的FS shell命令使用URI路徑作為參數。
- URI格式是scheme://authority/path。HDFS的scheme是hdfs,對本地檔案系統,scheme是file。其中scheme和authority參數都是可選的,如果未加指定,就會使用配置中指定的預設scheme。
- 例如:/parent/child可以表示成hdfs://namenode:namenodePort/parent/child,或者更簡單的/parent/child(假設設定檔是namenode:namenodePort)
- 大多數FS Shell命令的行為和對應的Unix Shell命令類似。
三、HDFS常用命令
-help [cmd] //顯示命令的協助資訊
-ls(r) <path> //顯示目前的目錄下所有檔案
-du(s) <path> //顯示目錄中所有檔案大小
-count[-q] <path> //顯示目錄中檔案數量
-mv <src> <dst> //移動多個檔案到目標目錄
-cp <src> <dst> //複製多個檔案到目標目錄
-rm(r) //刪除檔案(夾)
-put <localsrc> <dst> //本地檔案複製到hdfs
-copyFromLocal //同put
-moveFromLocal //從本地檔案移動到hdfs
-get [-ignoreCrc] <src> <localdst> //複製檔案到本地,可以忽略crc校正
-getmerge <src> <localdst> //將來源目錄中的所有檔案排序合并到一個檔案中
-cat <src> //在終端顯示檔案內容
-text <src> //在終端顯示檔案內容
-copyToLocal [-ignoreCrc] <src> <localdst> //複製到本地
-moveToLocal <src> <localdst>
-mkdir <path> //建立檔案夾
-touchz <path> //建立一個空檔案
HDFS 的shell練習
hadoop fs -ls / 查看HDFS根目錄
hadoop fs -mkdir /test 在根目錄建立一個目錄test
hadoop fs -mkdir /test1 在根目錄建立一個目錄test1