[[PageOutline]] = hadoop4win = -- '''Hadoop for Windows using Cygwin''' == 軟體簡介 == hadoop4win,顧名思義為『Hadoop for Windows』,主要是提供 Windows 平台上簡易安裝 Hadoop 的批次安裝檔。此批次安裝檔內容,主要參考自國網中心企鵝龍與再生龍團隊成員孫振凱先生之 [http://drbl.nchc.org.tw/drbl-winroll drbl-winroll] 作品,抽取安裝部分程式改寫成 hadoop4win 所需的步驟。 hadoop4win 目前包含四大軟體組成: * [http://cygwin.com Cygwin] - 提供精簡版,類似 Linux 的環境 * [http://java.sun.com JDK 1.6.0 update 18] - 運行 Hadoop 必須的 JRE(Java Runtime Environment) 與編譯程式所需之 javac 編譯器 * [http://hadoop.apache.org Hadoop 0.20.2] - 包含 Hadoop 0.20.2 原始程式與中英文說明文件檔 * [http://hbase.org HBase 0.20.4] - 包含 HBase 0.20.4 原始程式碼 == 適用平台 == * Windows 2000, Windows XP * 目前已知 Windows 7 無法正常執行。 == 檔案下載 == * 0.1.3 alpha * [http://www.classcloud.org/hadoop4win/hadoop4win-setup-full_0.1.3.zip 0.1.3 alpha 完整版 (已內含 Hadoop 0.20.2 , HBase 0.20.4 與 JDK 1.6.0u18 壓縮檔)] (170 MB) * [http://www.classcloud.org/hadoop4win/hadoop4win-setup-net_0.1.3.zip 0.1.3 alpha 網路版 ](33MB) * 0.1.2 alpha * [http://www.classcloud.org/hadoop4win/hadoop4win-setup-full_0.1.2.zip 0.1.2 alpha 完整版 (已內含 Hadoop 0.20.1 , HBase 0.20.3 與 JDK 1.6.0u18 壓縮檔)] (165 MB) * 0.1.0 alpha * [http://www.classcloud.org/hadoop4win/hadoop4win-setup-full_0.1.0.zip 0.1.0 alpha 完整版 (已內含 Hadoop 0.20.1 與 JDK 1.6.0u18 壓縮檔)] (134 MB) == 改版紀錄 == * 0.1.3 alpha - 2010/05/26 : * 感謝 NKZ (ccliangnn) 於 hadoop forum 回報 URL 下載連結失效,逼懶惰的作者更新程式。 * 更新網路安裝版,安裝批次檔中的檔案下載網址:HADOOP_MIRROR、HADOOP_FILE、JDK_MIRROR * 不用再打 hbase-init 來安裝 HBase,這一版是預設 HBase 直接安裝了。 * 新增一些判斷在 start-*, stop-* 的 script,例如:start-hbase會根據 hadoop 是否啟動,判斷是否幫忙執行 start-hadoop。 * 0.1.2 alpha - 2010/02/06 : * 改回 Cygwin 1.5.25 版本的套件庫 - 感謝 [http://www.hadoop.tw Yi-Kai Tsai] 回報 0.1.1 版無法正確執行 wordcount 範例的 BUG * 0.1.1 alpha - 2010/02/04 : * 改用 Cygwin 1.7.1 版本的套件庫 - 並且改用 "-P" 參數指定欲額外安裝套件 * 修改 hadoop4win-setup.bat 批次檔,以因應 Cygwin 1.7 版本的 setup.exe 差異。 * 新增 HADOOP_HOME、HADOOP_CLASSPATH、HADOOP_CONF_DIR 環境變數至 hadoop-env.sh - 感謝 [http://www.hadoop.tw Yi-Kai Tsai] 建議 * 新增 /opt/hadoop/bin 與 $JAVA_HOME/bin 到 /etc/profile 的 PATH 環境變數,讓每個使用者可以簡單輸入 hadoop 指令 - 感謝 [http://www.hadoop.tw Yi-Kai Tsai] 建議 * 修改 start-hadoop 並加入 start-hadoop-daemon 命令,另行開一視窗啟動 HDFS Name Node、Data Node 與 MapReduce Job Tracker、Task Tracker 子程序。如此一來可以避免 CTRL+C 觸發 SIGINT 而強制停止所有 java 程序。 - 感謝 [http://www.hadoop.tw Yi-Kai Tsai] 找出重現 BUG 的主因(Ctrl+C) * 新增 stop_hadoop 指令至 ~/.bash_logout 與 /etc/skel/.bash_logout,以確保離開 Cygwin 時關閉 HDFS 與 MapReduce -- 若要保留 java 程序,可手動移除 * 新增 hbase-init、start-hbase、start-hbase-daemon、stop-hbase 來初始化 hbase 下載、安裝、設定、啟動 !ZooKeeper、Master、!RegionServer 的程序。 * 0.1.0 alpha - 2010/01/22 * 基於 [http://drbl.nchc.org.tw/drbl-winroll drbl-winroll] 修改為 hadoop4win 嚐鮮版 == 臭蟲回報 == * 請至 http://forum.hadoop.tw 的 [http://forum.hadoop.tw/viewforum.php?f=4 "hadoop 安裝與設定"討論區] * 最新訊息請參閱: http://trac.nchc.org.tw/cloud/wiki/Hadoop4Win * 其他專案網站 - http://code.google.com/p/hadoop4win/ * 建議新功能或臭蟲回報 - http://code.google.com/p/hadoop4win/issues/list == 安裝方法 == * STEP 1 : 首先下載 hadoop4win 任一版本,並存至硬碟(如 D:)。使用 Windows XP 以上版本內建的解壓縮工具將 zip 壓縮檔解開。 * [[BR]][[Image(hadoop4win_01.jpg,width=600)]][[BR]] * STEP 2 : 在 hadoop4win-setup 目錄中,執行 hadoop4win-setup.bat 批次檔。 * 註:預設將安裝到 C:/hadoop4win 中,若因硬碟存取權限較嚴格,需修改安裝路徑,請自行修改 hadoop4win-setup.bat。 * [[BR]][[Image(hadoop4win_02.jpg,width=600)]] * STEP 3 : 一開始會出現 Cygwin 的安裝畫面,按『下一步(N)』開始安裝。 * [[BR]][[Image(hadoop4win_03.jpg,width=600)]] * 接著批次程式將會把 Hadoop 單機版所需之 Java 開發環境 (JDK 1.6.0 update 18)、 Hadoop 0.20.2 與 HBase 0.20.4 壓縮檔拷貝至安裝目錄。若您下載的是網路安裝版本,會看到批次檔先從網路上下載三個壓縮檔,才開始安裝。 * [[BR]][[Image(hadoop4win_04.jpg,width=600)]] * 程式會自動執行 JDK 與 Hadoop 的安裝。 * [[BR]][[Image(hadoop4win_06.jpg,width=600)]] * [[BR]][[Image(hadoop4win_07.jpg,width=600)]] * 並且幫您自動執行 Hadoop Namenode 的格式化 * [[BR]][[Image(hadoop4win_08.jpg,width=600)]] * 隨即依序啟動 Hadoop Name Node, Data Node, Job Tracker, Task Tracker * [[BR]][[Image(hadoop4win_09.jpg,width=600)]] * 並使用預設瀏覽器依序開啟 http://localhost:50030 與 http://localhost:50070 (若使用 IE 可能會只看到一個畫面,Firefox 則會看到兩個分頁) * [[BR]][[Image(hadoop4win_10.jpg,width=600)]] * [[BR]][[Image(hadoop4win_11.jpg,width=600)]] * 最後會解壓縮 HBase,並進行單機版 HBase 的設定,當完成 HBase 安裝後,您會看到以下的畫面。 * [[BR]][[Image(hadoop4win_19.jpg,width=600)]] * [[BR]][[Image(hadoop4win_20.jpg,width=600)]] == 測試方法 == === 測試 Hadoop 的步驟 === * STEP 4 : 此時系統已完成 Hadoop 0.20.2 的 tar ball 安裝,可以參考 [http://www.classcloud.org/media 國網中心雲端運算課程(一)] 之教學進行相關測試。目前將 Hadoop 0.20.2 安裝於 /opt/hadoop 路徑下,故使用者必須先切換至該目錄才能進行相關指令操作。 {{{ $ cd /opt/hadoop }}} * STEP 5 : 練習 HDFS 指令: 『__'''bin/hadoop fs -put '''__』 {{{ $ bin/hadoop fs -put conf-org input }}} * [[Image(hadoop4win_12.jpg,width=600)]] * STEP 6 : 練習 HDFS 指令: 『__'''bin/hadoop fs -lsr '''__』 {{{ $ bin/hadoop fs -lsr }}} * [[BR]][[Image(hadoop4win_13.jpg,width=600)]] * STEP 7 : 練習 MapReduce 丟 Job 指令: 『__'''bin/hadoop jar '''__』 {{{ $ bin/hadoop jar hadoop-*-examples.jar wordcount input output }}} * [[BR]][[Image(hadoop4win_14.jpg,width=600)]] * STEP 8 : 練習從 http://localhost:50030 查看目前 MapReduce Job 的運作情形 * [[BR]][[Image(hadoop4win_15.jpg,width=600)]] * STEP 9 : 練習 HDFS 指令: 『__'''bin/hadoop fs -get '''__』,並了解輸出檔案檔名均為 part-r-*****,且執行參數會紀錄於 _