本節書摘來異步社群《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進行通信。
更多參考