基于Eclipse的hadoop开发环境配置过程中出现的问题及解决方案

        最近在大数据的学习中,需要安装基于Eclipse的hadoop开发环境。经历了九九八十一难后,终于完成了配置。现将过程中一些主要的问题及教训总结如下。

        一.找好教程。找到一个好的教程是成功的一半,因此不要盲目地看到一个博客就跟着做,先分析其步骤是否完整,再参考阅读量以及评论,确定比较靠谱之后再动手。一旦开始就最好不要中途换教程,遇到什么问题及时解决就好,这样不仅思路清晰,也有利于提升自己解决问题和搜索的能力。

        二.一定要牢记自己每一步安装的软件及环境遍历的路径,最好开个记事本把重要步骤的执行代码备份一遍,这样既有利于找到路径,也便于返回快照的时候能够快速进行一些重复的步骤。

        三.安装Hadoop时四个文件十分关键:core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml。其中前三个一般不会有大的问题,教程里都差不多。但是yarn文件不同教程差别比较大,有的一两行就能成功运行,但我如此运行时总会报错,于是我比对日志和文件,将虚拟机的ip地址写入文件中,如下:

[yarn-site.xml]
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>s100</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>

将第五行的"s100"替换为ip地址,成功解决了问题。至于其中的原理还没有弄懂。

        四.版本适配问题。其实,在真正开始配置之前,需要先明确要安装的各种软件的版本,确保他们是互相适配的,否则安到最后发现其中一个不适配就会比较麻烦。我在实验中使用的虚拟机是Ubuntu18.04,Hadoop版本为2.7.7,查阅资料得到jdk与eclipse之间的适配关系如下:

 jdk与Hadoop的适配关系如下:

hadoop 3.x 版本仅支持 Java8
hadoop 2.7.x及以上版本支持Java7和Java8
hadoop 2.6.x及以下版本支持Java6

由于推荐jdk版本为1.7,且发现与我的Hadoop2.7刚好适配,需要的eclipse版本也不高,于是便用jdk1.7进行实验。

        但配置到最后阶段,在eclipse中安装Hadoop开发环境时却出了问题。首先一个小问题是在将hadoop-eclipse-plugin放入eclipse的plugins文件后,eclipse中未识别,没有显示mapreduce。我尝试了网上许多方法行不通后,发现其实就是插件本身的问题,我重新下了一个插件之后便可以正常显示了。值得一提的是,插件的版本与Hadoop的版本并不需要严格一一对应,如果某一个版本插件实在找不到,可以尝试使用版本相对低一些的插件。

        虽然mapreduce选项成功显示出来了,但点击进行配置时,缺发生了如下错误:

Unsupported major.minor version 52.0

查阅资料后发现,这个52.0的错误比较常见,是低版本不能兼容高版本的问题。那么问题来了,事先已经找到了互相适配的版本,为什么还会发生版本不兼容的问题?

        仔细想想,jdk1.7与Hadoop2.7互相适配,jdk1.7与eclipse也互相适配,那么问题只能出在eclipse和Hadoop身上了。网上并没有eclipse与Hadoop版本的对应关系,但是根据“低版本不能兼容高版本”这一事实,再联系到jdk1.7最多只能使用eclipse的Mars版本,可以作出推测,错误原因是eclipse版本太低,无法适配Hadoop2.7。为了验证这一推测,我将jdk版本改为1.8,下载eclipse最新版之后,果然解决了问题。

        在重新安装jdk1.8的时候,可以更换优先级,但是这又涉及到Hadoop安装过程中jdk配置的相关问题,因此一些细节的地方可能被忽略,所以我这样做失败了。

        故我直接删除了jdk1.7的源文件,在相同位置安装了jdk1.8。需要注意的是,在这个过程中环境变量,安装路径等一切有关的配置都不能变,否则就可能引发一系列连续错误,这个时候一定要把快照保存好。

        综上所述,建议在配置Hadoop开发环境时,一开始就选用jdk1.8,毕竟jdk1.7已经相对过于old了,在配置过程了还有其他各种各样的问题。

        五.最后一点,像这种比较复杂的环境配置,一定要每一步都小心谨慎,多留几个快照。在遇到问题时,要先从基本的配置开始检查,确定表面的无误后再找深层次的原因。比如我在更换jdk1.8时,就不小心配成了jdk18.0,导致Hadoop少了好几个节点,最后多亏老师及时发现进行纠正,才避免了整个重配的命运。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值