hx252502115 发表于 2016-8-29 15:11 学习了,非常感谢!!! |
是这样的你虽然将远程的输入和输出路径指向了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的配置文件。 |
你也是这样的开发环境吗? |
同问,帮顶! |
langke93 发表于 2016-8-24 18:03 程序的话就是example中的wordcount源码,我配置了hadoop的解压(安装)目录,是这个原因吧!? |
qcbb001 发表于 2016-8-24 11:37 日志信息按你说的修改log4j.properties可以筛选输出,谢谢 |
斯巴达之狐 发表于 2016-8-24 17:50 程序怎么写的,如果本地配置了hadoop环境,应该也是可以运行的 |
qcbb001 发表于 2016-8-24 11:37 datanode肯定也关了,因为我把集群全部都关掉了,虚拟机也关闭了 |
我就奇怪了,为什么可以运行呢??明明已经不存在hadoop的环境了啊 master关闭了,但是datanode应该还没有关闭。所以还是可以运行。 这个需要明白master的原理。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 日志信息是有级别的,可以输出到日志或则修改下日志的级别 |