wiki:Hadoop4Win

Version 32 (modified by shunfa, 15 years ago) (diff)

--

hadoop4win

-- Hadoop for Windows using Cygwin

軟體簡介

hadoop4win,顧名思義為『Hadoop for Windows』,主要是提供 Windows 平台上簡易安裝 Hadoop 的批次安裝檔。此批次安裝檔內容,主要參考自國網中心企鵝龍與再生龍團隊成員孫振凱先生之 drbl-winroll 作品,抽取安裝部分程式改寫成 hadoop4win 所需的步驟。

hadoop4win 目前包含四大軟體組成:

檔案下載

改版紀錄

  • 0.1.2 alpha - 2010/02/06 :
    • 改回 Cygwin 1.5.25 版本的套件庫 - 感謝 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 - 感謝 Yi-Kai Tsai 建議
    • 新增 /opt/hadoop/bin 與 $JAVA_HOME/bin 到 /etc/profile 的 PATH 環境變數,讓每個使用者可以簡單輸入 hadoop 指令 - 感謝 Yi-Kai Tsai 建議
    • 修改 start-hadoop 並加入 start-hadoop-daemon 命令,另行開一視窗啟動 HDFS Name Node、Data Node 與 MapReduce Job Tracker、Task Tracker 子程序。如此一來可以避免 CTRL+C 觸發 SIGINT 而強制停止所有 java 程序。 - 感謝 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

臭蟲回報

安裝方法

  • STEP 1 : 首先下載 hadoop4win 任一版本,並存至硬碟(如 D:)。使用 Windows XP 以上版本內建的解壓縮工具將 zip 壓縮檔解開。

  • STEP 2 : 在 hadoop4win-setup 目錄中,執行 hadoop4win-setup.bat 批次檔。
    • 註:預設將安裝到 C:/hadoop4win 中,若因硬碟存取權限較嚴格,需修改安裝路徑,請自行修改 hadoop4win-setup.bat。
  • STEP 3 : 一開始會出現 Cygwin 的安裝畫面,按『下一步(N)』開始安裝。

  • 接著批次程式將會把 Hadoop 單機版所需之 Java 開發環境 (JDK 1.6.0 update 18)與 Hadoop 0.20.1 壓縮檔拷貝至安裝目錄。若您下載的是網路安裝版本,會看到批次檔先從網路上下載兩個壓縮檔,才開始安裝。

  • STEP 4 : 當拷貝完成後會進入 Cygwin 視窗。此時,請輸入指令『hadoop4win-init』。
    $ hadoop4win-init
    
  • 此初始化指令將會進行 JDK 與 Hadoop 解壓縮動作


  • 最後將會執行 Hadoop Namenode 的格式化

  • STEP 5 : 按下任意鍵會依序啟動 Hadoop Name Node, Data Node, Job Tracker, Task Tracker

  • 並使用預設瀏覽器依序開啟 http://localhost:50030http://localhost:50070 (若使用 IE 可能會只看到一個畫面)


測試方法

  • STEP 6 : 此時系統已完成 Hadoop 0.20.1 的 tar ball 安裝,可以參考 國網中心雲端運算課程(一) 之教學進行相關測試。目前將 Hadoop 0.20.1 安裝於 /opt/hadoop 路徑下,故使用者必須先切換至該目錄才能進行相關指令操作。
    $ cd /opt/hadoop
    
  • STEP 7 : 練習 HDFS 指令: 『bin/hadoop fs -put <local file/dir> <HDFS file/dir>
    $ bin/hadoop fs -put conf-org input
    
  • STEP 8 : 練習 HDFS 指令: 『bin/hadoop fs -lsr <HDFS file/dir>
    $ bin/hadoop fs -lsr
    
  • STEP 9 : 練習 MapReduce 丟 Job 指令: 『bin/hadoop jar <local jar file> <class name> <parameters>
    $ bin/hadoop jar hadoop-0.20.1-examples.jar wordcount input output
    
  • STEP 10 : 練習從 http://localhost:50030 查看目前 MapReduce Job 的運作情形

  • STEP 11 : 欲離開 Cygwin 環境前或者要暫時關閉 Hadoop 系統時,請輸入指令『stop-hadoop』。
    $ stop-hadoop
    
  • STEP 12 : 欲重新啟動 Hadoop 系統時,請輸入指令『start-hadoop』。
    $ start-hadoop
    

已知問題

  • [備註] 由於 Hadoop 0.20.1 的 HDFS 檢查比較嚴謹,因此單機狀態下,您會看到 http://localhost:50070 顯示『Safe Mode is ON』等字樣,代表 HDFS 目前是被封鎖住寫入權限,需等待至少 30 秒以後才會恢復正常。亦因此,http://localhost:50030 若剛開始沒有 Task Tracker 連上來,也是因為 HDFS 處於安全模式(Safe Mode)造成,須等 30 秒後切回正常模式才會連上。

  • [備註] 若需要重新啟動 Cygwin 環境,請至 C:\hadoop4win 目錄執行 cygwin.bat 批次檔

Attachments (49)