概述
本文記錄windows下hadoop本地開發環境的搭建:
OS:windows
hadoop執行模式:獨立模式
安裝包結構:
Hadoop-2.6.0-Windows.zip
- cygwinInstall // cygwin離線安裝包
- hadoop-2.6.0-windows.tar.gz // hadoop-2.6.0 windows安裝包
PS:
hadoop-2.6.0-windows.tar.gz是基於官方發行包hadoop-2.6.0.tar.gz,並為windows單機測試而自己定義的包,修改例如以下:
1. 在bin文件夾下,加入了hadoop.dll和winutils.exe
2. 修改了org\apache\hadoop\io\nativeio\NativeIO.java源代碼第558行
*因為源代碼有修改,此包不能用於生產環境,僅僅限於windows環境下的開發測試
1. 安裝cygwin
- 雙擊cygwinInstall下的setup-x86_64.exe
選擇從本地安裝
選擇安裝位置
選擇本地安裝文件位置
點擊All旁邊的default,使其變為Install,再點擊下一步就可以開始安裝
2. 安裝hadoop
在cygwin的根文件夾下。建立opt文件夾,並把安裝包復制到opt文件夾下
cd /; mkdir opt
解壓
cd /opt; tar xzf hadoop-2.6.0-windows.tar.gz
環境變量設置
設置windows環境變量HADOOP_PREFIX指向hadoop安裝文件夾
設置windows環境變量HADOOP_HOME指向hadoop安裝文件夾
設置windows環境變量JAVA_HOME指向java安裝文件夾
Path環境變量后追加:
;%HADOOP_HOME%\bin
~/.bashrc中設置下面環境變量:
export HADOOP_CLASSPATH=$(cygpath -pw $(hadoop classpath)):$HADOOP_CLASSPATH
使~/.bashrc生效,並驗證hadoop是否工作
source ~/.bashrc
驗證hadoop:
hadoop version
若正常顯示版本號信息則成功安裝
執行演示樣例代碼。驗證hadoop是否可以執行mapreduce
cd /opt/hadoop-2.6.0; mkdir input; cd input; echo "Hello World" > test
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar wordcount input output
若正常執行則顯示:
在/opt/hadoop-2.6.0/output下會生成part-r-00000文件,包括下面內容:
Hello 1 world 1
3. idea開發環境配置
創建一個mapreduce項目
選擇項目。按下F12。加入外部依賴
加入HADOOP_HOME下必要的jar包
進入執行配置
配置執行參數
Working directory設置為hadoop安裝文件夾
並設置輸入參數
調試
和普通java程序一樣打斷點進行調試