似乎您正在使用JRE运行sqoop-但JAVA_HOME设置为JDK

我试图在Ubuntu上设置sqoop(sqoop-1.4.3.bin__hadoop-1.0.0)。我可以运行基本的sqoop帮助等,而不会出现问题。当我运行以下命令时,我得到一个错误:

sqoop import --connect jdbc:mysql://localhost/test --table sales -m 1

13/04/19 10:35:24 INFO orm.CompilationManager: HADOOP_MAPRED_HOME is /opt/hadoop/hadoop-1.0.4

13/04/19 10:35:24 ERROR orm.CompilationManager: It seems as though you are running sqoop with a JRE.

13/04/19 10:35:24 ERROR orm.CompilationManager: Sqoop requires a JDK that can compile Java code.

13/04/19 10:35:24 ERROR orm.CompilationManager: Please install a JDK and set $JAVA_HOME to use it.

13/04/19 10:35:24 ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: Could not start Java compiler.

at org.apache.sqoop.orm.CompilationManager.compile(CompilationManager.java:176)

我用谷歌搜索找到了此错误的答案,而大多数答案指向将JAVA_HOME设置为您的JDK(在〜/ .bashrc中[在Ubuntu上])。

$ echo $JAVA_HOME

/usr/lib/jvm/jdk1.7.0_15

这些是我设置的其他变量:

export HADOOP_COMMON_HOME=/opt/hadoop/hadoop-1.0.4

export HADOOP_MAPRED_HOME=/opt/hadoop/hadoop-1.0.4

export SQOOP_HOME=/opt/hadoop/sqoop-1.4.3.bin__hadoop-1.0.0

export PATH=$PATH:$SQOOP_HOME/bin

我还将mysql jdbc驱动程序添加到lib文件夹中。

任何想法为什么我会收到此错误?在此先感谢,迪迪

回答:

Scoop创建表示要导入的表的架构的Java类。因此,要创建这些类,您需要jdk而不是jre。

同时在./bashrc和中设置JAVA_HOME $HADOOP_HOME/conf/hadoop-env.sh

那应该工作。

以上是 似乎您正在使用JRE运行sqoop-但JAVA_HOME设置为JDK 的全部内容, 来源链接: utcz.com/qa/413138.html

回到顶部