1.windows 7 32 bit os(你懂的)
2.(hadoop-2.2.0.tar.gz)
3.(hadoop-2.2.0-src.tar.gz)
3.
4.(apache-maven-3.2.1-bin.zip)
5.
6.
7.
apache hadoop
2.x推薦運作環境是64bit機器,因為實際運作過程中要超過4gb記憶體嘛!32bit适合個人開發調試學習使用。
前言:由于apache hadoop
2.2.0發行版使用的動态連結庫(bin\hadoop.dll、libwinutils.lib、winutils.exe)是windows
64bit的,是以需要使用源代碼重新編譯成32bit的(有可能你下載下傳回來的hadoop-2.2.0.tar.gz發行包裡沒有這些windows動态庫的)。如果你的系統盤是ssd的話,建議将安裝在c盤根目錄。
(工具軟體:3,4,5,6,7)安裝過程不再詳述,一路next就行(javase推薦根目錄:c:\java)。重點在環境變量的配置部分,增加以下環境變量到“系統變量”中(java路徑不能有空格):
java_home=c:\java\jdk1.7.0_45
platform=win32
m2_home=c:\apache-maven-3.2.1
path=;c:\cygwin\bin;c:\apache-maven-3.2.1\bin;c:\protoc-2.5.0-win32;
配置示例(别忘了設定path哦):

将hadoop-2.2.0-src.tar.gz源代碼解壓到d盤根目錄,看上去路徑如下:d:\hadoop-2.2.0\
apache hadoop svn 代碼庫位址:
需要手工修正源代碼的幾處編譯錯誤:
修改檔案:\hadoop-common-project\hadoop-auth\pom.xml
修改内容:在大約56行的位置增加一個xml配置節點。
<dependency>
<groupid>org.mortbay.jetty</groupid>
<artifactid>jetty-util</artifactid>
<scope>test</scope>
</dependency>
修改示例:
修改檔案:hadoop-common-project\hadoop-common\src\main\native\native.sln
修改内容:用記事本打開檔案。
替換内容:
globalsection(projectconfigurationplatforms) =
postsolution
{4c0c12d2-3cb0-47f8-bcd0-55bd5732dfa7}.debug|mixed
platforms.activecfg =
release|x64
platforms.build.0 =
{4c0c12d2-3cb0-47f8-bcd0-55bd5732dfa7}.debug|win32.activecfg =
{4c0c12d2-3cb0-47f8-bcd0-55bd5732dfa7}.debug|win32.build.0 =
{4c0c12d2-3cb0-47f8-bcd0-55bd5732dfa7}.debug|x64.activecfg =
{4c0c12d2-3cb0-47f8-bcd0-55bd5732dfa7}.debug|x64.build.0 =
{4c0c12d2-3cb0-47f8-bcd0-55bd5732dfa7}.release|mixed
{4c0c12d2-3cb0-47f8-bcd0-55bd5732dfa7}.release|win32.activecfg
= release|x64
{4c0c12d2-3cb0-47f8-bcd0-55bd5732dfa7}.release|win32.build.0
{4c0c12d2-3cb0-47f8-bcd0-55bd5732dfa7}.release|x64.activecfg
{4c0c12d2-3cb0-47f8-bcd0-55bd5732dfa7}.release|x64.build.0 =
endglobalsection
新内容:
release|win32
=
修改檔案:hadoop-common-project\hadoop-common\src\main\native\native.vcxproj
修改内容:
查找替換”release|x64“為”release|win32“
查找替換”<platform>x64</platform>“為”<platform>win32</platform>“
右鍵單擊”d:\hadoop-2.2.0“檔案夾,選擇”管理者取得所有權“。否則編譯過程中可能會發生”拒絕通路“錯誤(右鍵沒有顯示該菜單的,自行網上查找系統資料庫修改方法)。
打開“開始”--“所有程式”--“microsoft windows sdk v7.1”--“windows sdk 7.1 command
prompt”,進入vc++的指令行工具(一定要從此處進入方可順利編譯hadoop源代碼,記着是以管理者身份運作)。指令如下:
切換至源代碼根目錄,執行編譯指令:mvn package -pdist,native-win -dskiptests -dtar
示例運作結果
setting sdk environment relative to c:\program files\microsoft sdks\windows\v7.1 \. targeting windows 7 x86 debug c:\windows\system32>d: d:\>cd d:\hadoop-2.2.0 d:\hadoop-2.2.0>mvn package -pdist,native-win -dskiptests -dtar ................................2.2.1版本編譯完成大約需要16分鐘左右................................2.4.0版本編譯完成大約需要22分鐘左右(覺得編譯過程慢的話:)![]()
Hadoop:Windows 7 32 Bit 編譯與運作 ![]()
Hadoop:Windows 7 32 Bit 編譯與運作
hadoop編譯成功後,程式集輸出在: hadoop-common-project\hadoop-common\target\hadoop-common-2.2.0目錄下。
1.解壓縮”hadoop-2.2.0.tar.gz“至d盤如下目錄:d:\hadoop-common-2.2.0
2.合并替換發行版本的64動态連結庫:主要是是以下幾個檔案(bin\hadoop.dll、bin\hadoop.exp、bin\hadoop.lib、bin\hadoop.pdb、bin\libwinutils.lib、bin\winutils.exe、bin\winutils.pdb),從編譯成功後的輸出目錄copy到apache發行版形同目錄下替換即可。
3.修改配置檔案
core-site.xml
hdfs-site.xml
其他配置檔案保持預設即可。
4.配置hadoop hdfs運作環境變量(重要)
hadoop_home=d:\hadoop-common-2.2.0
path=d:\hadoop-common-2.2.0\bin
5.格式化hdfs檔案系統
以管理者身份打開指令行,并切換到:d:\hadoop-common-2.2.0\bin目錄下,執行指令:
hadoop namenode -format
如果不出意外,hdfs檔案系統将格式化成功,你會在d:\hadoop-bin\data看到已經生成了namenode檔案夾。
6.啟動hadoop hdfs伺服器
同樣管理者身份指令行,切換到:d:\hadoop-common-2.2.0\sbin目錄下,執行指令:
start-all.cmd
不出意外,用浏覽器打開:http://localhost:8042 或者 http://localhost:50070
會有驚喜哦!記得别把本地的端口占用了。
7.上傳檔案到hdfs
如果你對指令行熟悉的話,可以采用指令行的方式推送的hdfs。如果你的hdfs-site.xml配置檔案時copy我以上的示例的話,那麼webhdfs預設是開啟的,什麼意思?就是通過http
restfull風格api管理檔案哦!另外還要記得把dfs.permissions設定為false,要不你沒有權限上傳檔案的哦!
推薦個hdfs檔案管理工具:red gate software ltd(大名鼎鼎的red gate)
上傳檔案到hdfs
8.停止hadoop hdfs伺服器
stop-all.cmd
windows 64 bit是有它自己的道理的,雖然通過一些努力編譯出了32bit環境下的程式。。。
你還可以用我編譯好的32bit程式先撸一把:http://yunpan.cn/qnbm3rzxf2l8x 通路密碼 e9b3