Hadoop的HDFS 入門使用

banq發表於2013-07-30
HDFS for the Batch Layer | Architects Zone一文詳細介紹了Hadoop的兩個組成部分之一HDFS。

當我們上傳一個檔案到HDFS,將自動分塊到各個資料節點上。對於初學者,文章建議下載Cloudera, Hortonworks, 和 MapR 的Hadoop虛擬機器,節省配置時間。

上傳檔案大概步驟:
$ hadoop fs -mkdir /logins
$ hadoop fs -put logins-2012-10-25.txt /logins

這是將logins-2012-10-25.txt 日誌檔案上傳到logins目錄。查詢可見:
$ hadoop fs -ls -R /logins
-rw-r--r-- 3 hdfs hadoop 175802352 2012-10-26 01:38
/logins/logins-2012-10-25.txt

能夠如Linux的shell命令一下檢視檔案內容:
$ hadoop fs -cat /logins/logins-2012-10-25.txt
alex 192.168.12.125 Thu Oct 25 22:33 - 22:46 (00:12)
bob 192.168.8.251 Thu Oct 25 21:04 - 21:28 (00:24)
...

為了檢視上傳的日誌檔案分塊到哪些伺服器資料節點上,用如下命令:

$ hadoop fsck /logins/logins-2012-10-25.txt -files -blocks -locations 
/logins/logins-2012-10-25.txt 175802352 bytes, 2 block(s):                         A
OK 
0. blk_-1821909382043065392_1523 len=134217728                                     B
   repl=3 [10.100.0.249:50010, 10.100.1.4:50010, 10.100.0.252:50010] 
1. blk_2733341693279525583_1524 len=41584624 
   repl=3 [10.100.0.255:50010, 10.100.1.2:50010, 10.100.1.5:50010] 
<p class="indent">

這個檔案被存成兩塊,其對應的IP地址和埠。


相關文章