如果是hadoop2.x版本,基本都可以在网上找到对应版本的插件,本人用的是比较新版的hadoop3.2.1,暂时未在网上找到对应插件,因此只能自己编译生成,下面的版本换成你自己对应的版本,我这里以hadoop3.2.1为例
1、下载hadoop
hadoop官网:https://hadoop.apache.org/releases.html
进去后找到你自己的版本,点击binary(二进制)
然后点击这个链接开始下载hadoop3.2.1.tar.gz
下载完成后解压
2、下载ANT
Apache Ant是帮助构建软件的Java库和命令行工具。
Apache Ant官网:https://ant.apache.org/bindownload.cgi
点击下载 apache-ant-1.10.7-bin.zip
要根据自己本地下载的jdk版本来选取对应的ANT版本
下载完成后解压
3、配置环境变量
右键我的电脑,选择属性–>高级系统设置
点击环境变量
新建系统变量 HADOOP_HOME 和 ANT_HOME,变量值为你刚刚解压的路径
并在Path里加入他们的bin路径
%ANT_HOME%\bin 和 %HADOOP_HOME%\bin
验证环境变量是否正确配置
打开cmd,输入
ant -version
配置正确会显示出ANT的版本号
4、下载 eclipse-hadoop3x-master
网盘链接:https://pan.baidu.com/s/1C6SMpa6zhBZhvVLHlg_krw
提取码:oo0h
下载完后解压
5、编译
首先,打开 eclipse-hadoop3x\ivy 目录下的libraries.properties,用记事本打开
设置hadoop版本号为你自己的版本号(比如我这里是hadoop3.2.1),保存文件
进入目录 eclipse-hadoop3x\src\contrib\eclipse-plugin ,用记事本打开 build.xml ,删掉下图中圈起来的,若不删除的话编译时会一直停在某个地方
由于 build.xml 文件与hadoop目录二者可能存在不一致的地方,要将build.xml文件改成和 hadoopd 的目录相对应
例如,build.xml文件中mapreduce位置是 /libexec/share/hadoop/mapreduce ,而实际上mapreduce的位置是 /share/hadoop/mapreduce ,因此要将build.xml文件这里的 /libexec删掉,其他地方同理
下面以我的为例
进入目录 eclipse-hadoop3x\src\contrib\eclipse-plugin
用记事本打开 build.xml ,发现下面这些路径不匹配,因此删掉下图中圈起来的
下面开始编译
先进入到 eclipse-hadoop3x\src\contrib\eclipse-plugin 这个目录下,然后编译
D:
cd D:\eclipse-hadoop3x\src\contrib\eclipse-plugin
ant jar -Dversion=3.2.1 -Declipse.home=D:\eclipse -Dhadoop.home=D:\hadoop-3.2.1
hadoop的版本号,eclipse的路径和hadoop的路径换成你自己的
可能会报错某文件找不到,原因是版本号没对应,接下来要让版本号对应
进入目录 eclipse-hadoop3x\src\ivy ,用记事本打开 libraries.properties,将版本号与 hadoop-3.2.1\share\hadoop\common\lib 里的 jar 包一一对应
比如这里没有找到文件 commons-lang-2.6.jar
则找到对应 jar 包并修改 libraries.properties 里的版本
同时可以打开 eclipse-hadoop3x\src\contrib\eclipse-plugin 下的 build.xml 文件,编译时是根据这里的路径来找相应的 jar 包,发现 build.xml 里的 commons-lang这里少了个3,加上
继续输入命令进行编译,凡是有找不到文件或者jar包的情况都需要修改 libraries.properties 文件版本号为对应的 hadoop 目录下的jar包版本号,修改完后再执行ant命令进行编译
成功编译的话会提示
BUILD SUCCESSFUL
生成的 hadoop-eclipse-plugin-3.2.1.jar 将在 eclipse-hadoop3x\build\contrib\eclipse-plugin 目录下
转载:https://blog.csdn.net/weixin_43311978/article/details/105452135