最近,在Mac上折腾了下,想搭建一个hadoop的测试环境,用于写一些Map/Reduce的sample,下面就先将搭建环境的过程记录下来。 1. hadoop 单机搭建 1.1 确认java环境已经安装 在terminal里再次键入java -version,出现如下信息: 1.2 安装SSH 首先,输入 ssh-ke
最近,在Mac上折腾了下,想搭建一个hadoop的测试环境,用于写一些Map/Reduce的sample,下面就先将搭建环境的过程记录下来。
1. hadoop 单机搭建
1.1 确认java环境已经安装
在terminal里再次键入”java -version”,出现如下信息:
2. hadoop eclipse 插件编译
2.1 导入hadoop的eclipse-plugin的工程
用hadoop提供的文件自行编译,导入hadoop的eclipse-plugin文件夹.打开eclipse,在File菜单中选择Import.
2.3 修改hadoop-1.0.4/src/contrib目录的build-contrib.xml文件
找到,将location中的路径修改为hadoop-1.0.4的解压路径。
并在该行下面添加以下两行内容。
eclipse.home是指eclipse的安装目录,需要替换为你自己的安装路径。
version的值要替换为hadoop的版本号。
2.4 修改MapReduceTools项目下的build.xml文件
打开build.xml文件,在文件中搜索name=”jar” ,找到的代码段并加上列
<!––>
<!––>
<jar
jarfile=”${build.dir}/hadoop-${name}-${version}.jar”
manifest=”${root}/META-INF/MANIFEST.MF”]]>
2.5 在build.xml文件中查找 ,在该行下面添加如下内容:
2.6 在文件中搜索,并在该行下添加如下内容:
2.7 修改 Bundle-ClassPath
使用编辑器打开META-INF文件夹中的MANIFEST.MF文件,在文件中搜索Bundle-ClassPath,可以看到该行内容如下:
Bundle-ClassPath: classes/,
lib/hadoop-core.jar,lib/commons-cli-1.2.jar,lib/commons-httpclient-3.0.1.jar,lib/jackson-core-asl-1.8.8.jar,lib/jackson-mapper-asl-1.8.8.jar,lib/commons-configuration-1.6.jar,lib/commons-lang-2.4.jar
2.8 用ant开始编译
保存build.xml文件后,在build.xml文件上点击右键,并选本文来源gaodai#ma#com搞@@代~&码网择Run As -> Ant Build
2.9 安装插件
编译后的plugin文件会保存在hadoop-1.0.4/build/contrib/eclipse-plugin文件夹中,文件名为hadoop-eclipse-plugin-1.0.4.jar 。
将该文件复制到eclipse安装目录的plugins文件夹下,并重启eclipse。
2.10 测试
在eclipse的window菜单中选择Show View -> Other,在Show View窗口中选择MapReduce Tools下的Map/Reduce Locations,点击OK
问题3:Unable to load realm info from SCDynamicStore
这个问题是hadoop官方的一个bug,详细bug介绍可以参考这个链接:https://issues.apache.org/jira/browse/HADOOP-7489
一般在是当start-all.sh 的时候,会抛出这样的异常:
Unable to load realm info from SCDynamicStore
网络上有一种解决方法,解决单机部署还行,对于伪分布式部署还是不行:
就是在hadoop-env.sh文件中加上这一行:
export HADOOP_OPTS=”-Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk”
(意思是设置启动hadoop时设定相关的JVM参数)
~~~EOF~~~
原文地址:Map/Reduce开发环境, 感谢原作者分享。