September 2008 Archives

Hadoop 0.18 版特色

|

Hadoop 在 8/22 日 release 了 0.18 版, 這次的 release 總共有 266 個 patches committed , 是有史以來最多的一次, 又其中有 20% 是由非 Yahoo! 的開發者所貢獻的, 也是有史以來比例最高的一次.  這充份顯示了 Hadoop 計畫不論在社群或是成員的參與度上都有大幅的成長, 但也因為這個原因 code base 產生了大量的 blocking bugs, 讓這次 release 在原本 6/4 日 feature freeze 後拖延至現在才完成.

Hadoop 0.18 版這次不管在效能 (performance),延展性 (scalability) 和可靠度 (reliability) 等方面都新增加了不少特性, 其中部分效能方面的改進讓 Hadoop 贏得了2008 年的 Terabyte sort benchmark 比賽. 另外 0.18 版在網格混合測試當中僅需要 0.15 版約 45% 的時間.

以下大略介紹一下 HDFS 和 MapReduce 幾個主要新的特色:

幫 Hadoop HDFS 調整系統資源限制

|
有時候 Map Reduce 的工作跑一跑,會發現 datanode 突然都陣亡,去看 log 會發現很多 Too many open files 的錯誤:

2008-09-11 20:20:22,836 ERROR org.apache.hadoop.dfs.DataNode: 192.168.1.34:50010:DataXceiver: java.io.IOException: Too many open files
        at sun.nio.ch.EPollArrayWrapper.epollCreate(Native Method)
        at sun.nio.ch.EPollArrayWrapper.<init>(EPollArrayWrapper.java:68)
        at sun.nio.ch.EPollSelectorImpl.<init>(EPollSelectorImpl.java:52)
        at sun.nio.ch.EPollSelectorProvider.openSelector(EPollSelectorProvider.java:18)
        at sun.nio.ch.Util.getTemporarySelector(Util.java:123)
        at sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:92)
        at org.apache.hadoop.dfs.DataNode$DataXceiver.writeBlock(DataNode.java:1150)
        at org.apache.hadoop.dfs.DataNode$DataXceiver.run(DataNode.java:994)
        at java.lang.Thread.run(Thread.java:619)

這個發生的原因是同時間很多 client 要去跟 datanode 要東西,因此消耗太多的 file descriptor,那又因為我在用的 Linux 上面預設單一 process 能開的檔案只有 1,024 個,>
於是就造成了這種結果。

修正的方法是去 /etc/security/limits.conf 加上這行:

* - nofile 8192
讓單一 process 能同時開到 8,192 個檔案。改好後重開 datanode 就可以了。

用 "單機" 跟 "PHP" 開發 Hadoop 程式

|
當 hadoop 如火如荼之際, google release 了一個為 hadoop 量身打造的 vm image, 讓developer 可以自由在單機上開發hadoop程式,現在只要按照以下十個步驟,輕鬆學會用php 開發hadoop

1. 下載  vmware  player
http://www.vmware.com/download/player/

2. 下載 hadoop vm img
http://code.google.com/edu/parallel/tools/hadoopvm/index.html

3. 安裝 vmware player 啟動 hadoop vm

4. 使用root 登入
id:root /  password:root

5. 安裝 php
root# apt-get install php5-cli

6. 登出改用 guest 登入
id:guest / password:guest

7. 用 vim 寫兩支php 放到 /home/guest

Mailing list and Hadoop slide

|

經過幾天的 Free Mailing Lists survey, 選了操作介面比較簡單的 FreeLists 來當作 mailing list 的 provider , mailing list 為 hadoop-taiwan@freelists.org , 有關 hadoop 的任何問題, 有興趣加入討論的人可以到 http://www.freelists.org/list/hadoop-taiwan  這邊 subscribe.

 

另外今年四月份的時候, OSDC.TW 邀請了 Yahoo! Grid Computing Group Architect, Vivek Ratan 來台介紹 Hadoop , 演講的內容相當詳盡 , 投影片 Hadoop_OSDC_08.pdf , 供大家取用. 另外這邊要感謝 OpenFoundry 提供網頁空間讓我們可以擺放 slides.