转载自:http://blog.csdn.net/weijonathan/article/details/8282661
一、所需工具
eclipse-java-juno-SR1-win32.zip
jdk-6u37-linux-x64.bin
apache-ant-1.8.4-bin.zip
hadoop-1.0.4
二、Ant安装
将Ant解压放在合适目录:比如D盘。
配置Ant环境变量,在Path中添加:F:\hadoop\ant\bin。
控制台中输入echo %PAHT% 使环境变量生效。(没必要重启)
三、编译hadoop-eclipse-plugins-1.0.4.jar
1、解压hadoop
目录为 F:\hadoop\hadoop-1.0.4
2、进入F:\hadoop\hadoop-1.0.4\src\contrib目录。将build-contrib.xml复制到 F:\hadoop\hadoop-1.0.4\src\contrib\eclipse-plugin目录下。
3、修改build-contrib.xml文件
将hadoop.root改为hadoop解压目录
<property name=”hadoop.root” location=”F:/hadoop/hadoop-1.0.4″/>
在下面添加如下两行:Eclipse安装根目录,和hadoop版本
<property name=”eclipse.home” location=”E:/software/deploymentTool/eclipse”/>
<property name=”version” value=”1.0.4″/>
具体位置需要改为你的,注意location里的斜杠方向
4、修改build.xml:找到<import file="../build-contrib.xml"/>,改为<import file="build-contrib.xml"/>
5、在F:\hadoop\hadoop-1.0.4\src\contrib\eclipse-plugin 目录下创建lib目录,并将以下jar包复制进来:
commons-configuration-1.6.jar、commons-httpclient-3.0.1.jar、commons-lang-2.4.jar、jackson-core-asl-1.8.8.jar、
jackson-mapper-asl-1.8.8.jar
6、在F:\hadoop\hadoop-1.0.4下创建build文件夹,将hadoop-core-1.0.4.jar复制进来
最近因为windows权限问题搞了好久的插件问题,像0700BUG权限认证问题。
- ERROR security.UserGroupInformation:PriviledgedActionException as:admin cause:java.io.IOException:Failed to set permissions of path:\home\hadoop\hadoop-1.0.4\data\data\mapred\staging\admin1107758487\.staging to 0700
- Execption in threa "main" java.io.IOException:Failed to set permissions of path:\home\hadoop\hadoop-1.0.4\data\data\mapred\staging\admin1107758487\.staging to 0700
- at org.apache.hadoop.fs.FileUtil.checkRetrunVlues(FileUtil.java:682)
- at org.apache.hadoop.fs.FileUtil.setPermission(FileUtil.java.655)
这边要解决0007问题,hadoop-core-1.0.4.jar要覆盖掉里面的FileUtil的class文件,再打包一个,这里提供一个我的解决0007问题的hadoop-core-1.0.4.jar 包。先把之前的hadoop-core-1.0.4.jar修改为hadoop-core-1.0.4.jar_back,然后再把我这边提供的hadoop-core-1.0.4.jar放到hadoop目录下,然后拷贝这个hadoop-core-1.0.4.jar进build的目录。
下载地址:解决0700的 eclipse 插件 http://download.csdn.net/detail/weijonathan/4919830
解决0700的hadoop-core-1.0.4.jar
http://download.csdn.net/detail/weijonathan/4919824
7、在F:\hadoop\hadoop-1.0.4\build目录下创建F:\hadoop\hadoop-1.0.4\build\ivy\lib\Hadoop\common目录并将
commons-cli- 1.2.jar复制到该目录下
8、修改build.xml文件。目录:F:\hadoop\hadoop-1.0.4\src\contrib\eclipse-plugin
1)、在<target name=”jar” depends=”compile” unless=”skip.contrib”>标签底下的
- <copy file=”${hadoop.root}/build/ivy/lib/Hadoop/common/commons-cli-${commons-cli.version}.jar” todir=”${build.dir}/lib” verbose=”true”/>后面添加一下行
- <copy file=”${root}/lib/commons-configuration-1.6.jar” todir=”${build.dir}/lib” verbose=”true”/>
-
- <copy file=”${root}/lib/commons-httpclient-3.0.1.jar” todir=”${build.dir}/lib” verbose=”true”/>
-
- <copy file=”${root}/lib/commons-lang-2.4.jar” todir=”${build.dir}/lib” verbose=”true”/>
-
- <copy file=”${root}/lib/jackson-core-asl-1.8.8.jar” todir=”${build.dir}/lib” verbose=”true”/>
-
- <copy file=”${root}/lib/jackson-mapper-asl-1.8.8.jar” todir=”${build.dir}/lib” verbose=”true”/>
2)、在<target name="compile" depends="init, ivy-retrieve-common" unless="skip.contrib">标签中的<javac>标签中添加属性includeantruntime --防止编译过程中提示includeantruntime 属性未设置问题
- <target name="compile" depends="init, ivy-retrieve-common" unless="skip.contrib">
- <echo message="contrib: ${name}"/>
- <javac
- encoding="${build.encoding}"
- srcdir="${src.dir}"
- includes="**/*.java"
- destdir="${build.classes}"
- debug="${javac.debug}"
- includeantruntime="on">
- <classpath refid="classpath"/>
- </javac>
- </target>
3)、在build.xml中添加-防止问题 编译错误,提示“软件包org.apache.hadoop.fs 不存在“
- <span style="white-space:pre"> </span><path id="hadoop-jars">
- <fileset dir="${hadoop.root}/">
- <include name="hadoop-*.jar"/>
- </fileset>
- <span style="white-space:pre"> </span></path>
在<path id="classpath">中添加:<path refid="hadoop-jars"/>
4)、修改F:\hadoop\hadoop-1.0.4\src\contrib\eclipse-plugin\META-INF的MANIFEST.MF文件
- Bundle-ClassPath: classes/,
- lib/hadoop-core.jar,
- lib/commons-cli-1.2.jar,
- lib/commons-configuration-1.6.jar,
- lib/commons-httpclient-3.0.1.jar,
- lib/commons-lang-2.4.jar,
- lib/commons-jackson-core-asl-1.8.8.jar,
- lib/commons-jackson-mapper-asl-1.8.8.jar
5)、进入F:\hadoop\hadoop-1.0.4\src\contrib\eclipse-plugin目录下,执行ant命令就可以了!编译结果放在F:\hadoop\hadoop-1.0.4\build\contrib\eclipse-plugin目录下。
四、eclipse hadoop插件安装
将编译好的eclipse插件放入eclipse的dropins目录中,重启eclipse就OK了!
五、 配置eclipse插件。
1、打开eclipse,打开map/Reduce Locations
2、右键New Hadoop Location...,输入Location Name(这个可以随意输入),修改Map/Reduce Master和DFS Master
User name设置你启动hadoop的名称。
3、点到Advanced parameters
修改hadoop.tmp.dir修改为你hadoop集群中设置的目录。
修改 dfs.permissions.supergroup为hadoop,hadoop
修改dfs.replication 为你hdfs-site.xml文件中配置的值
4、重启eclipse,之后你会发现其他参数eclipse自动帮你联网加载上去了!
|