天天看點

《Hadoop MapReduce實戰手冊》一1.7 HDFS的基本指令行檔案操作

本節書摘來異步社群《hadoop mapreduce實戰手冊》一書中的第1章,第1.7節,作者: 【美】srinath perera , thilina gunarathne 譯者: 楊卓荦 責編: 楊海玲,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

hadoop mapreduce實戰手冊

hdfs是一個分布式的檔案系統,就像一個unix檔案系統一樣,它允許使用者使用shell指令操縱檔案系統。本節将說明如何使用hdfs的基本指令行來執行這些操作。

值得注意的是,每一條hdfs指令都有一個與之一一對應的unix指令。例如,下面的指令:

該指令用于讀取/data/foo.txt檔案,并把它列印到螢幕上,就像unix系統的cat指令一樣。

準備工作

通過以下安裝hdfs的攻略,啟動hdfs伺服器。

操作步驟

将工作目錄跳轉到hadoop_home。

運作下面的指令來建立一個名為/test的目錄:

hdfs檔案系統的根目錄為/,就像unix檔案系統的根目錄一樣。運作以下指令可以列出hdfs根目錄的内容:

運作下面的指令将本地readme檔案複制到/test目錄下:

運作下面的指令列出/test目錄的内容:

運作以下指令将/test/readme.txt檔案複制到本地目錄:

工作原理

當指令發出後,用戶端将代表使用者與hdfs namenode通信,并執行相關操作。通常,我們使用以/開頭的路徑來引用檔案或檔案夾,如/data,用戶端将根據hadoop_home/conf目錄中的配置項來選擇namenode。

然而,如果需要的話,我們可以使用一個完全限定路徑來強制用戶端跟一個特定的namenode進行通信。例如,hdfs://bar.foo.com:9000/data,會要求用戶端與運作在bar.foo.com主機9000端口上的namenode進行通信。

更多參考