Eclipse搭建hadoop开发环境

网友投稿 1007 2022-05-30

前面已经搭建了一个伪分布模式的Hadoop运行环境。绝大多数同学都习惯在Eclipse中做Java开发,本片主要讲的是如何搭建一个基于Eclipse IDE的Hadoop开发环境。

闲话少说,走起!

一、JDK安装配置

(一)为什么要安装JDK

由于Eclipse 是基于 Java 开发的一个可扩展的开发平台,所以在安装 Eclipse 前需要确保你的电脑已经成功安装了JDK。

Eclipse搭建hadoop开发环境

(二)如何安装配置JDK

1、下载并解压JDK

首先需要注意的是下载的jdk的位数需要与Windows系统位数一致,课程中我们使用的是64位Windows系统,所以我们需要下载安装64位的jdk。

jdk的下载、安装还是比较简单的,所以这里就不再多讲,相信大家参照本任务视频内容可以轻松搞定。下面我们重点来配置JDK的环境变量。

2、配置JDK的环境变量

(1)点击“计算机”,然后“右键”——“属性”——“高级系统设置”——“环境变量”;

(2)配置系统变量JAVA_HOME,即配置JDK的安装目录。

(3)配置系统变量Path,即配置JDK安装目录的bin目录。

3、验证JDK是否安装成功

java -version

二、安装部署Eclipse开发环境

(一)下载Eclipse

大家可以通过官网下载对应版本的Eclipse,也可以直接点击下载获取Eclipse的安装包。

(二)安装Eclipse

(1)双击Eclipse安装包,然后选择“Java Developers”,满足基本的java开发即可。

(2)在界面选择Eclipse的安装路径,然后点击“INSTALL”即可。

(3)在界面点击“LAUNCH”,然后就正式开始安装。

(4)在如下界面选择项目的工作空间,可以使用默认的路径和工作空间,也可以选择其他工作空间。勾选“Use this as the default and do not ask again”,然后点击“OK”即可。

(三)创建java项目,验证Eclipse开发环境是否部署成功

(1)创建一个HelloWorld的项目。

(2)在项目下创建一个包com.dajiangtai.java。

(3)在包中创建一个类HelloWorld。

(4)在类中编写代码并运行,如果能正确输出结果则表明Eclipse开发环境已经搭建成功,接下来开发者就可以正常开发普通的java项目了。

三、构建MapReduce项目

在创建项目的时候,我们发现不能直接通过勾选MapReduce项目来创建MapReduce项目,因为没有对应的选择,这里有两种解决方法:

方法一:通过构建普通的java项目,然后导入MapReduce相关的依赖包即可,但是需要导入哪些包,怎么导入呢?这样操作就有点麻烦了。

方法二:通过安装对应版本的Hadoop-Eclipse插件,即可显示对应的MapReduce项目选项。然后就可以像创建普通的java项目一样创建MapReduce项目了。

这里我们重点介绍方法二的实现。

(一)Hadoop-Eclipse插件的安装配置

(1)点击下载对应版本的Hadoop-Eclipse插件

(2)将插件放到Eclipse安装目录下的dropins目录中

(3)然后重启Eclipse

(4)创建MapReduce项目

如果插件安装成功,那么在新建项目选择时就会显示MapReduce项目。如下图所示:

(5)创建一个WordCount的项目,然后配置Hadoop安装目录。因为Hadoop-Eclipse插件一边连接着Eclipse,另一边连接着Hadoop,所以还要在Eclipse中对Hadoop进行相关的配置。

(6)配置Hadoop安装目录。

需要把下载到本地的hadoop安装包解压(就是提前下载到本地,上传到Linux虚拟机上的Hadoop安装包,因为Hadoop安装包是不分Linux或windows操作系统的)。然后配置Hadoop安装路径即可。然后点击“Apply”和“OK”。

注意:指定路径指定的是hadoop解压之后的那个文件夹的位置。而不是其他。

(7)在跳转的如下界面中点击“Finish”即可。

(8)在跳转的如下界面中点击“Yes”即可。

(二)Hadoop-Eclipse插件的作用

Hadoop-Eclipse插件安装完成之后,更能直观的感受到插件安装前后的区别,这也是为什么把插件的作用放在插件安装之后解释的一个原因。

(1)在Eclipse中显示DFS Locations

如果以上配置都成功之后,那么在Project Explorer就会多了一个DFS Locations.窗口。这是安装Hadoop-Eclipse的第一个作用。DFS Locations的作用是在Eclipse中显示HDFS文件系统的列表,但是由于还需要启动Hadoop集群,并进行相关连接的配置,比较麻烦且容易出错,且实际工作中也不使用。所以这里暂时可不用处理。

如果想尝试配置可参考“Eclipse中配置DFS Locations”对应的文档。

(2)项目自动导入MapReduce相关的依赖包

安装完Hadoop-Eclipse插件之后,创建的MapReduce项目会自动导入hadoop相关的依赖包,而无需手动创建。(大家可以和创建的java项目引入的包做个对比)

(三)创建一个WordCount类,验证Eclipse是否可以成功开发MapReduce项目

(1)WordCount代码可以直接从官网上下载

http://hadoop.apache.org/docs/r2.6.0/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html#Example:_WordCount_v1.0

(2)准备输入数据源(自己可以创建一个文件,然后随便写几条数据),并指定输入输出路径。

注意:一定要保证输入路径存在且正确,输出路径不能提前存在,否则代码运行将会报对应的错误,然后运行代码。(具体操作可参照本任务对应的视频内容)

(3)代码运行常见错误及解决方法

1)报log4j问题

只需要在src中导入log4j文件即可,下载log4j文件。

2)然后再运行报如下错误:

错误原因:hadoop环境变量没有配置或配置有问。

解决办法:只需要配置并检查HADOOP_HOME和Path变量即可。如下所示:

3)重启Eclipse,重新运行之后又报如下错误:

错误原因:本地Hadoop运行目录的bin目录下中没有winutils.exe或者32位/64位版本不匹配

解决办法:下载相应的winutils.exe和hadoop.dll放到Hadoop运行目录的bin文件夹下,注意选择正确的32位/64位版本把对应版本的那两个文件放到hadoop安装目录的bin目录下即可。

可点击下载和Hadoop2.6.0对应的64位的winutils.exe和hadoop.dll,在下载的包的子目录下即可找到winutils.exe和hadoop.dll这两个文件。

然后重新Eclipse并运行WordCount,发现就没有问题了。(包括前边报的空指针异常也一并解决了);

4)有时候还会出现一些其他问题:

解决方法:把winutils.exe和hadoop.dll这两个文件上传到C:\Windows\System32目录下,重新运行代码即可。

到此为止,Eclipse开发MapReduce项目就部署成功,接下来,大家就可以尽情的在Eclipse中开发MapReduce项目了。

其它可能出现的问题:

1、错误:出现DFS列表无法正常显示的问题该怎么办?且报如下错误:

解决方法:

1)可能是因为Hadoop集群(hdfs)没有启动或没有启动成功导致的

2)dfs权限:在配置文件中设置成false,或该属性配置有拼写错误

3)HDFS离开安全模式:hadoop dfsadmin -safemode leave

4)检查防火墙是否关闭

2、错误:在搭建eclipse/Myeclipse过程中出现下面问题该如何解决?

解决方法:

1)点击Window——Open Perspective——Other..

2)然后在弹出的对话框里选择Map/Reduce,点击OK即可。

3、错误:连接不到hdfs文件系统上,报如下错误:

解决方法:

把下图的主机名改成对应的IP地址即可;

这样就可以连接到DFS文件系统了;

4、错误:安装完hadoop-eclipse插件之后报如下错误

解决方法:

1)如果出现这种情况,把jdk换成1.8就可以了。Jdk1.8 对应52,Jdk1.7 对应51

2)最好把Java安装路径放在path路径最前面

3)路径最好不要有中文。

5、错误:出现下面问题,报NullPointerException异常?

解决方法:

可能是因为Hadoop相关jar包没有导入到项目或者jar包没导全

那么怎么导入jar包?导入哪些jar包呢?如下所示:

点击项目右键——Build Path——Configure Build Path——进入如下界面

然后选择你本地hadoop安装目录下的share目录下的hadoop目录下,如下图,然后把这4个文件夹下的jar包导入即可。

五、如果还有问题怎么办?

我们可以通过以下步骤来排查:

1)首先确保Windows下,系统位数、jdk位数、hadoop安装包位数保持一致,否则肯定会报错。 比如,64位的Windows系统,需要安装64位的jdk以及下载64位的hadoop安装包(课程中有下载)。

如果不知道hadoop位数是否正确,可以双击下面的文件。

如果不出错,说明文件没有问题。如果hadoop的bin目录下没有hadoop.dll、winutils.exe这两个文件,在课程中下载。

2)确保jdk以及hadoop的环境变量配置正确(前面已经讲解)

3)确保Linux下的防火墙已经关闭。

4)如果出现Myeclipse访问不了hdfs,可以按照上面第5个问题的解决办法。

5)检查C:\Windows\System32目录下是否存在hadoop.dll和winutils.exe文件。

6)如果以上方法还是有错误,可能是系统或者Myeclipse版本的原因造成的,最糟糕的情况可能需要换一个干净的Windows系统了。

童鞋们,是不是已经搞定了,让我们一起Hadoop吧!!!

如有疑问欢迎留言 共同探讨~~

Hadoop Eclipse

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:《软件测试:原理与实践(英文版第2版)》
下一篇:【Python3网络爬虫开发实战】 1.1-Python3的安装
相关文章