今天写MR程序,原来用TextInputFormat改为用KeyValueTextInputFormat类提交到hadoop上一直提示ClassNotFoundException的异常。
百思不得其解,后来查看源码时发现没有KeyValueTextInputFormat的源代码。
这时候我注意到我的集群上hadoop版本号是1.0.0,Win7上的jar包和源代码都是1.0.0.
记得刚开始配机群环境时,由于win7提交到hadoop时 源码有bug导致会导致权限的异常,我曾经把core包换成了1.0.4-modified.jar的包。
应该是这个原因,希望能提供给遇到同样问题的朋友提供一种解决思路,很可能是jar包版本的问题!
还有一种情况是 要在集群上运行程序是一定要选择
“Run on Hadoop”这一项!
比如我自己在本地运行时将下面这条语句注释了以后,程序是在本地跑的:conf.set("mapred.job.tracker", "10.103.240.160:9001");
后来为了在集群上跑又将这条语句恢复了,但是我运行的时候却是点的上面那个绿色的小按钮,并没有选择“Run on Hadoop”这一选项。
于是报了Class not found 的异常。
原因应该是如果点了Run on hadoop 以后,Myeclipse会重新打包上传该程序。
而如果点绿色小三角按钮,程序还是跑在本地,只不过是通过JobClient对象与服务器进行通信了而已,并没有重新打包上传到集群上。
分享到:
相关推荐
myEclipse10.0与hadoop集群远程连接
myeclipse运行hadoop文件,通过他能熟练掌握
myeclipse以及eclipse开发hadoop所使用的插件,已经亲测过hadoop2.6.5可用
myeclipse 开发的java界面化程序 打包成exe格式的可执行文件
myeclipse打包的jar
myEclipse_hadoop,解压即可用。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。...
hadoop-common-2.6.0-bin-master-x64上可用,hadoop-common-2.2.0-bin-master,hadoop-common-2.6.0-bin,hadoop-eclipse-plugin-2.6.0,hadoop-eclipse-plugin-2.2.0,以及使用教程
Myeclipse连接hadoop 详细过程讲解
零基礎學習入門(無liunux基礎,無hadoop基礎) Myeclipse開發Hadoop基礎 一步一步解決各種bug
将其解压,直接复制到myeclipse安装目录下dropins文件夹下,重启myeclipse即可。在要导出的项目处右击,可看到 build fat jar 项,前面有个绿色的加号。按照步骤即可打包;若没有该项,可将myeclipse下configuration...
myeclipse下导入工程文件及运行说明
打包所需jar包 和打包过程.
myeclipse +maven 搭建的hadoop mapreduce 例子项目,运行了单机wordcount
hadoop-eclipse-plugin-2.6.0.jar,欢迎研究Myeclipse开发Hadoop应用程序的朋友下载使用,如有问题,请联系本人!
myeclipse打包jar文件的工具fatjar和详细的教程
用来配置myeclipse或eclipse对应的hadoop 插件,方便开发
一.所需软件 注意:安装MyEclipse后,我再已安装软件里找不到MyEclipse,所以我在root...先把hadoop-eclipse-plugin-1.2.1.jar复制到ubuntu桌面(我的不能直接复制到MyEclipse的dropins目录下,我同学的能,真是
MyEclipse注册码程序,直接在Eclipse里运行就可以生成注册码,无需任何工具 ...main方法运行: MyEclipseGen myeclipsegen = new MyEclipseGen(); String res = myeclipsegen.getSerial("admin", "5");
Windows系统下使用MyEclipse调用Linux系统安装的Hadoop,需要的插件。环境搭配好后,只需要开通hadoop,可在Windows系统下进行map reduce的Java代码编译。
MYECLIPSE程序部署方法MYECLIPSE程序部署方法