sqoop-无法找到或加载主类org.apache.sqoop.sqoop

bjp0bcyl  于 2021-06-03  发布在  Hadoop
关注(0)|答案(5)|浏览(400)

我安装了hadoop、hive、hbase、sqoop并将它们添加到路径中。
当我试图执行 sqoop 命令,我得到一个错误:

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

开发环境:
操作系统:ubuntu 12.04 64位
hadoop版本:1.0.4
配置单元版本:0.9.0
hbase版本:0.94.5
sqoop版本:1.4.3

bq9c1y66

bq9c1y661#

我的问题是 hadoop-env.sh 文件中有以下行:

export HADOOP_CLASSPATH=${JAVA_HOME}/lib/tools.jar

好像你打电话的时候 sqoop 它内部调用 configure-sqoop 这就决定了 HADOOP_CLASSPATH 但是当它(sqoop)调用 hadoop , hadoop 忽略该变量并将其重置回 hadooop-env.sh 解决办法是改变 hadoop-env.sh 换成这句话:

export HADOOP_CLASSPATH="${JAVA_HOME}/lib/tools.jar:$HADOOP_CLASSPATH"
kqlmhetl

kqlmhetl2#

@user225003解决方案神奇地工作了,我查看了一些文件,下面是当您执行“sqoop”脚本时在后台发生的事情。
“sqoop”脚本实际上是从 $HADOOP_COMMON_HOME/bin/ 目录。配置sqoop时,在“ sqoop-env.sh “我们设定了 $HADOOP_COMMON_HOME 到hadoop安装目录。如果您的sqoop和hadoop安装不在常规位置 /usr/local ,我相信 sqoop-x.x.x.jar 不在hadoop脚本的类路径中。

c90pui9n

c90pui9n3#

我已经在centos 6.3上解决了这个问题。
我已经安装了hadoop-1.0.4、hbase-0.94.6、hive-0.10.0、pig-0.11.1、sqoop-1.4.3、bin\u hadoop-1.0.0、zookeeper-3.4.5。
我在sqoop也遇到了同样的问题: Error - Could not find the main class: org.apache.sqoop.Sqoop .
为了解决这个问题,我复制了jar文件: sqoop-1.4.3.jar$SQOOP_HOME/ 进入 $HADOOP_HOME/lib/ .
希望这能帮助那些在sqoop中挣扎的人使用hadoop。

gcxthw6b

gcxthw6b4#

确保在sqoop主目录下有sqoop-1.4.3.jar。
注意:可能是因为您在sqoop发行版下下载了错误的发行版

brtdzjyr

brtdzjyr5#

不幸的是,我没有找到解决我问题的完整答案。我目前使用的sqoop安装版本是1.4.6。我不确定sqoop-1.4.6.tar.gz如果必须编译源代码,我能够克服同样的错误 Error - Could not find the main class: org.apache.sqoop.Sqoop 使用以下说明:
相反,我下载了 sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz 从ApacheSqoop下载并安装在 /home/ubuntu/SQOOP/ 已重命名 sqoop-1.4.6.bin__hadoop-2.0.4-alphasqoop . 我想和Yarn一起用。
然后导出并设置$sqoop\u home我用这个
export SQOOP_HOME=/home/ubuntu/SQOOP/sqoop/ export PATH=$PATH:$SQOOP_HOME/bin 现在如果有人去$sqoop\u home/bin试试

./sqoop help

它应该毫无问题地工作。

相关问题