在Windows下的Eclipse中如何将WordCount程序提交到集群运行

环境:

Windows 7

Hadoop2.5.2

JDK1.7

工具:

Eclipse

Hadoop程序在Linux下运行会显得非常正常,但国内的很多Hadoop程序的开发,尤其是学生的大多都是在Windows上做开发,如果再将其打包提交到集群运行也显得稍微有些麻烦,如果在Eclipse上做完开发,直接进行程序的运行测试倒是显得方便了很多,上一篇文章讲了如何在Windows下做Hadoop的本地开发,并没有将程序提交到集群,这并不能达到很好利用集群来做运行测试,但对于本地调试还是很有好处的,这篇文章是讲述如何在Eclipse中开发完成Hadoop程序之后,直接像运行Java或者JavaWeb一样来运行Hadoop程序,本文中以经典的WordCount为例。

1.当然你需要有一个集群,将集群的节点相关信息写入到windows下的hosts文件中,这样做是为了方便访问Hadoop集群,形式如下:

192.168.x.x master

192.168.x.x salve1

... ...

2.将下载的Hadoop文件中的WordCount实例解压放到Eclipse中新建的Java项目中去,如下图所示:

3.对已经放置好的WordCount程序进行改造,因为所给的原有的WordCount程序肯定是不能直接提交到远程的集群中去的。添加如下一些配置信息:


这里设置的是手动配置的一些Hadoop集群的参数,在相应的集群中的$HADOOP_HOME/etc/hadoop的配置文件中也要进行相应一些参数的配置。其中的master在就是1中的配置,如果没有配置就需要直接写主节点的IP地址了。

4.将该改造完成的WordCount程序打成jar包,然后给打成的jar包命一个自己喜欢的名字。

5.在Eclipse中右键单击Run As-->Run Configuration,Arguments进行输入输出路径的配置,如下图:


其中的test.txt是已经在Hadoop集群中上传的一个有几句英语句子的文件,需要你自己手动上传到hdfs上。

6.运行时可能会出现以下异常,但仍旧能够保证mapreduce的运行


之所以会出现这个异常是因为在WordCount中有这么一条语句:

String[] otherArgs = new GenericOptionsParser(conf, args).getRemainingArgs();

在调用这个语句的时候,如果是Windows环境它就会去在你的环境中寻找winutils.exe这个文件,当然你完全可以在Windows系统里面解压一个Hadoop文件之后再在它的bin目录下放置这个文件,这个方法类似我上篇文章讲述的在windows系统本地运行WordCount程序,但是想想办法肯定是可以跳过去的,但目前我还没有想

更好的方式(~__ ~



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值