hebina 发表于 2016-4-11 13:53 你的包不全,初学建议都加到开发环境中 |
Error: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.hadoop.map.TokenizerMapper not found at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:1720) at org.apache.hadoop.mapreduce.task.JobContextImpl.getMapperClass(JobContextImpl.java:186) at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:721) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:339) at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:162) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491) at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:157 按照你这方法还是没有加载到类!!! |
本帖最后由 pig2 于 2014-5-6 16:40 编辑 file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\49936534\QQ\WinTemp\RichOle\SL$MGWG{UE@Y2DR5E)N)4BE.jpg |
本帖最后由 pig2 于 2014-5-6 16:42 编辑 pangge2007 发表于 2014-5-6 11:37 感觉你的思路有点混乱:1.如果你想在eclipse里面运行mapredcue或则hadoop程序是可以的,你只要使用插件链接即可。新手指导:Windows上使用Eclipse远程连接Hadoop进行程序开发 2.你打成jar包上传到集群,这个已经是属于生产环境,是已经编译后的文件。看看你打成jar包后文件格式。 3.至于你说的运行自动上传不太清楚,你说什么什么意思。 (1)如果说你想运行程序,然后在eclipse里面看控制台输出,你这时候是没有jar包的。 (2)如果你打成jar了,你就可以放到hadoop集群里直接hadoop jar,运行就可以了。 所以说你既有运行,又有jar包,这两个是两码事,你先理一下自己的思路。 至于你说的jobClient,是属于代码级别。一个编译前,一个是编译后,和打包运行,上传都没有关系。 |
sstutu 发表于 2014-5-6 11:26 我的目的是想在Eclipse里面自动上传执行MapReduce,通过jobClient提交执行Job相当于部署吗? |
pangge2007 发表于 2014-5-6 11:10 无论是传统开发,还是hadoop开发,这两个都是分离的。 |
这篇文章很好,帮我解决了难题,但是还有一个问题,不知道楼主是否能解决。在eclipse里面执行的时候不能自动上传Jar到HDFS,需要手工打成Jar,然后上传,不知道有没有啥方法能够解决这个问题? |