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