hadoop2.9.2插件编译以及安装

一.hadoop2.9.2源码编译

    因为直接使用官方的编译包,执行命令的时候,会报一些警告,很碍眼。所以自己编译一个linux 64位的2.9.2的版本。

    参考:https://blog.csdn.net/qq_24811513/article/details/79021508 。我按上面的去操作,成功了。

二、hadoop2.9.2对应的eclipse插件编译

1、安装ant,使用最新版本的ant,我使用的是1.9.11。如果ant版本过低,编译时会报javac1.8出错

2、从https://github.com/winghc/hadoop2x-eclipse-plugin下载插件

3、ant jar -Dhadoop.version=2.9.2 -Declipse.home=D:\eclipse Dhadoop.home=D:\hadoop-2.9.2

如果出现问题,可以参考https://blog.csdn.net/jy02268879/article/details/80272362,按照上面操作,我试了是可以成功的。

三、安装hadoop-eclipse-plugin-2.9.2.jar插件(遇到问题,不要急,一个一个解决)

1、将hadoop-eclipse-plugin-2.9.2.jar包放到eclipse对应plugins下面。打开sts(我使用的是sts,eclipse也是一样的)。

    Window——>Perferences下面

hadoop2.9.2插件编译以及安装_第1张图片

如果没有的话,可以试试:https://blog.csdn.net/w1014074794/article/details/51368085/(我是刚开始没出来,按照这个倒腾了一下,后来出来,就得每次给eclipse换一个workspace)

2、设置Hadoop Map/Reduce

hadoop2.9.2插件编译以及安装_第2张图片

路径设置成自己的hadoop路径

3、Window——>Show View——>Other

hadoop2.9.2插件编译以及安装_第3张图片

然后设置

我这里遇到了问题,点击蓝色的大象没有反应。我看了一下workspace对应的.metadata中的日志,发现有class找不到。顺藤摸瓜,我给hadoop-eclipse-plugin-2.9.2.jar加了woodstox-core-5.0.3.jar、stax2-api-3.1.4.jar、stax-api-1.0-2.jar这三个加包。

    需要放到hadoop2.9.2插件编译以及安装_第4张图片

然后修改hadoop2.9.2插件编译以及安装_第5张图片

将对应的jar引入。

hadoop2.9.2插件编译以及安装_第6张图片

关闭sts(eclipse),替换hadoop-eclipse-plugin-2.9.2.jar,新建一个workspace(我怕有影响,新建了一个workspace),这回点击蓝色的大象就ok了。然后配置相关即可。

但是又出现了新的问题

这个蓝色大象点击开报No FileSystem for scheme: hdfs。

针对这个问题,网上查了一下,很多人说换一个插件包,这个就是原理没有搞清楚。其实只要修改我们hadoop-eclipse-plugin-2.9.2.jar插件中lib下面的hadoop-common-2.9.2.jar即可。hadoop-common-2.9.2.jar里面有个core-default.xml。在里面添加一个配置

 
    fs.hdfs.impl
    org.apache.hadoop.hdfs.DistributedFileSystem
    The FileSystem for hdfs: uris.
 

然后重新替换放在eclipse中的hadoop-eclipse-plugin-2.9.2.jar(先关闭eclipse,替换,启动,重新走一下配置流程)。这回No FileSystem for scheme: hdfs。这个错解决了,然后报org.apache.hadoop.hdfs.DistributedFileSystem.class不存在。我发现这个class在hadoop-eclipse-plugin-2.9.2.jar中lib下面的hadoop-hdfs-client-2.9.2.jar中,但是插件包中MANIFEST.MF没有引入,我就引入了一下

hadoop2.9.2插件编译以及安装_第7张图片

然后重新将修改的hadoop-eclipse-plugin-2.9.2.jar放到入eclipse对应的路径下面。可以正常连接到远程的hdfs了

 

 

 

 

 

 

 

你可能感兴趣的:(hadoop,eclipse插件)