eclipse为何可以直接运行mapreduce程序

查看数: 12017 | 评论数: 9 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2016-8-24 11:03

正文摘要:

1、通过网络上的各种教程,我搭建了一个hadoop的开发环境,3台CentOS6.5的虚拟机,分别安装了hadoop2.5.2的版本,一个namenode和两个datanode。启动dfs和yarn之后,通过window平台上的eclipse(安装了hadoop plugin ...

回复

斯巴达之狐 发表于 2016-8-30 14:23:19
hx252502115 发表于 2016-8-29 15:11
是这样的你虽然将远程的输入和输出路径指向了HDFS,但是你的hadoop确是指向的本地(你可以在你的代码里加入 ...

学习了,非常感谢!!!
hx252502115 发表于 2016-8-29 15:11:08
是这样的你虽然将远程的输入和输出路径指向了HDFS,但是你的hadoop确是指向的本地(你可以在你的代码里加入一些控制台输出,你会发现都输出到console里了。很明显mapreduce运行在eclipse的环境下)。

如果你安装了mapreduce的插件,本地eclipse下也是可以跑mapreduce程序的,现象就想楼主的一样,程序可以跑,控制台输出和网上的教程很像。但是hadoop集群上没有任何关于JOB的信息。

楼主可以把你haoop集群namenode上的几个配置文件放到你的classpath路径下(core-site.xml、mapred-site.xml、yarn-site.xml),在hadoop集群启动时是需要分发job的可执行代码的,所以如果楼主需要将工程打包成jar包,并在代码中通过Configuration指定jar的位置。

至于日志输入,楼主可以从hadoop自带的jar包中找一个log4j的配置文件,放到你的classpath路径下,这样每一次日志的输出楼主就可以自己配置了。否则eclipse默认从jar中加载log4j的配置文件。
斯巴达之狐 发表于 2016-8-25 16:00:57

你也是这样的开发环境吗?
yzm1990526 发表于 2016-8-25 10:29:07
同问,帮顶!
斯巴达之狐 发表于 2016-8-24 18:08:41
langke93 发表于 2016-8-24 18:03
程序怎么写的,如果本地配置了hadoop环境,应该也是可以运行的

程序的话就是example中的wordcount源码,我配置了hadoop的解压(安装)目录,是这个原因吧!?
斯巴达之狐 发表于 2016-8-24 18:07:33
qcbb001 发表于 2016-8-24 11:37
我就奇怪了,为什么可以运行呢??明明已经不存在hadoop的环境了啊
master关闭了,但是datanode应该还没有 ...

日志信息按你说的修改log4j.properties可以筛选输出,谢谢
langke93 发表于 2016-8-24 18:03:07
斯巴达之狐 发表于 2016-8-24 17:50
datanode肯定也关了,因为我把集群全部都关掉了,虚拟机也关闭了

程序怎么写的,如果本地配置了hadoop环境,应该也是可以运行的
斯巴达之狐 发表于 2016-8-24 17:50:29
qcbb001 发表于 2016-8-24 11:37
我就奇怪了,为什么可以运行呢??明明已经不存在hadoop的环境了啊
master关闭了,但是datanode应该还没有 ...

datanode肯定也关了,因为我把集群全部都关掉了,虚拟机也关闭了
qcbb001 发表于 2016-8-24 11:37:31
我就奇怪了,为什么可以运行呢??明明已经不存在hadoop的环境了啊
master关闭了,但是datanode应该还没有关闭。所以还是可以运行。
这个需要明白master的原理。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
日志信息是有级别的,可以输出到日志或则修改下日志的级别
关闭

推荐上一条 /2 下一条