Sqoop找不到主类 Error: Could not find or load main class org.apache.sqoop.Sqoop

最近由于要使用Sqoop来到出数据到hdfs,可是发现Sqoop1.4.5跟hadoop2.X不兼容,需要对Sqoop1.4.5进行编译,编译的具体方法见:http://my.codeweblog.com/AlbertHa/blog/318551

如果一切都顺利的话需要就不会遇到什么问题,但是有一个问题一直困扰了一周!

这是问题是什么呢? 就是每次执行$SQOOP_HOME/bin/sqoop脚本的时候总是抱一个错误:

Error: Could not find or load main class org.apache.sqoop.Sqoop

这是因为找不到sqoop-1.4.5.jar文件导致的。

从网上搜了很多解决办法,具体的做法是:将sqoop-1.4.5.jar文件拷贝到$HADOOP_HOME/lib目录下一份,可是我照做的,但问题还是依旧,一周了,我实在是到了要放弃的地步了,开始怀疑自己的能力了都!

今天我在绝望之时,打开sqoop脚本看了一下,发现脚本的最后有这样一句:

exec ${HADOOP_COMMON_HOME}/bin/hadoop org.apache.sqoop.Sqoop "$@"

这个应该就是执行hadoop jar命令的地方,看到这里或许你应该明白这个错误该怎么解决了吧?

解决办法

修改$SQOOP_HOME/bin/sqoop脚本:

* 修改前:

exec ${HADOOP_COMMON_HOME}/bin/hadoop org.apache.sqoop.Sqoop "$@"

* 修改后:

exec ${HADOOP_COMMON_HOME}/bin/hadoop jar $SQOOP_HOME/sqoop-1.4.5.jar org.apache.sqoop.Sqoop "$@"

即:显示指定sqoop-1.4.5.jar文件的所在位置。

然后执行sqoop help命令,就不会再报Could not find or load main class org.apache.sqoop.Sqoop 的错误了。

版本说明

Hadoop版本:Hadoop2.4.0

Sqoop版本:sqoop-1.4.5.bin__hadoop-2.0.4

 

 

不过视频上说直接可用,是不是因为我没在hxsyl下source /etc/profile,因为echo $SQOOP_HOME,还是以前的缓存,source就好了

时间: 2024-09-23 16:32:29

Sqoop找不到主类 Error: Could not find or load main class org.apache.sqoop.Sqoop的相关文章

java-jar文件显示找不到主类怎么破

问题描述 jar文件显示找不到主类怎么破 用java.util.jar编的打包,jaroutputstream包含manifest带version,classpath和mainclass(Attributes.Name), 每一个entry后写入byte[]后关闭entry,最后finish和关闭流.打包后可以解压缩,将manifest复制到另一个eclipse手动打的包下可以正常使用. 用beyondcompare3比较两jar,大小相同,解压缩后所有文件二进制相同,但自动的包就是找不到主类.

java-eclipse 下用fat jar插件打包swing生成的jar文件运行提示找不到主类

问题描述 eclipse 下用fat jar插件打包swing生成的jar文件运行提示找不到主类 我用java swing写了一个窗体应用程序,用到了mysql数据库,并且将mysql的jdbc驱动包放在了项目的lib文件夹写,在我将程序用fat jar插件打包后,在命令行下面利用:java -jar +目录test.jar ,运行正常,而当我直接双击运行生成的jar文件后就提示:Could not find the main class...Program will exit. 请问怎么解决这

错误:找不到主类 XXX 什么原因?

问题描述 程序手动编译执行都能通过,想调试用了eclipse,结果"错误:找不到主类text"目前看不是程序问题,我用helloword也是这个错误. 解决方案 解决方案二:JDK1.70的原因解决方案三:都有1.7开发了?解决方案四:有稳定的1.5不用非要整个1.7做什么???如果你是大牛需要研究新技术,那无可非议如果还是阶段这样不可取....解决方案五:纠结,我现在也是

java vlcj-错误: 找不到或无法加载主类 FilesVideoLANVLC”

问题描述 错误: 找不到或无法加载主类 FilesVideoLANVLC" 错误: 找不到或无法加载主类 FilesVideoLANVLC" 解决方案 你的地址路径,打错了 Java的URI形式的绝对资源路径如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/aaa.b 它跟Window的地址路径写法上不同

jena arq.sparql-jena 报错 找不到或者无法加载主类arq.sparql

问题描述 jena 报错 找不到或者无法加载主类arq.sparql 解决方案 java错误找不到或无法加载主类java中的"错误:找不到或无法加载主类"的解决办法错误:找不到或无法加载主类 解决方案二: http://my.oschina.net/leejun2005/blog/106789http://blog.sina.com.cn/s/blog_a9e5c16d0101cff7.html

java-求大神,找不到或无法加载主类!

问题描述 求大神,找不到或无法加载主类! 路径,classpath都没错 javac成功 解决方案 首先javac XXX.java 编译后产生个XXX.class文件,然后java XXX,不要加后缀.class. 解决方案二: 找不到或无法加载主类java 找不到或无法加载主类错误: 找不到或无法加载主类 PersonDemo 解决方案三: 1.Java Hello 不要带.class 2.如果还不行,检查java命令是否OK: 3.还有检查 Hello.java是否在E盘的开发文档文件夹中

javac-java文件问题]错误:找不到或无法加载主类 Hello.java

问题描述 java文件问题]错误:找不到或无法加载主类 Hello.java 编写简单的Hello.java程序,在cmd命令行下用javac Hello.java命令编译没有问题,可以生成Hello.class文件.但输入java Hello命令后(文件目录和命令目录一致),提示错误:"找不到或无法加载主类 Hello.java".安装配置如下JAVA_HOME D:Javajdk1.8.0_45path .;%JAVA_HOME%bin;classpath .;%JAVA_HOME

java-eclipse运行程序时 “错误: 找不到或无法加载主类 Dfile.encoding=UTF-8”

问题描述 eclipse运行程序时 "错误: 找不到或无法加载主类 Dfile.encoding=UTF-8" 今天在新机器上安装eclipse,在编译项目的时候,报错 "错误: 找不到或无法加载主类 Dfile.encoding=UTF-8" 网上查找不到主类的解决方案都是关于java环境变量的,不过环境变量我弄过很多次了,而且在eclipse里运行hello world也是可以正常输出的 好迷 求指教 (ps:工程是maven项目,项目内容来自于他人,我也不是很

helloworld-显示错误:找不到或无法加载主类HelloWorld

问题描述 显示错误:找不到或无法加载主类HelloWorld java HelloWorld ( 显示错误:找不到或无法加载主类HelloWorld 请教各位大神,怎么解决?) 解决方案 应该在class前加上public, 你要访问的类要加上这个 解决方案二: 应该在class前加上public, 你要访问的类要加上这个 解决方案三: public class....... 格式错了 解决方案四: 命令错了,应该为javac HelloWorld.java 解决方案五: 貌似你已经编译过了,也