看起来好像您正在运行带有JRE的sqoop - 但将JAVA_HOME设置为JDK [英] It seems as though you are running sqoop with a JRE - But JAVA_HOME set to JDK

查看:1736
本文介绍了看起来好像您正在运行带有JRE的sqoop - 但将JAVA_HOME设置为JDK的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

pre $ sqoop import --connect jdbc:mysql:// localhost / test - 表销售-m 1

13/04/19 10:35:24信息orm.CompilationManager:HADOOP_MAPRED_HOME是/opt/hadoop/hadoop-1.0.4
13/04/19 10 :35:24 ERROR orm.CompilationManager:看起来好像你正在用JRE运行sqoop。
13/04/19 10:35:24 ERROR orm.CompilationManager:Sqoop需要一个可以编译Java代码的JDK。
13/04/19 10:35:24 ERROR orm.CompilationManager:请安装JDK并设置$ JAVA_HOME以使用它。
13/04/19 10:35:24 ERROR tool.ImportTool:遇到IOException运行导入作业:java.io.IOException:无法启动Java编译器。
at org.apache.sqoop.orm.CompilationManager.compile(CompilationManager.java:176)

我用google搜索了一个关于这个错误的答案,并且大多数答案指出将JAVA_HOME设置为您的JDK,我已经(在Ubuntu上的〜/ .bashrc中)。

  $ echo $ JAVA_HOME 
/usr/lib/jvm/jdk1.7.0_15

这些是其他变量我设置:

 出口HADOOP_COMMON_HOME = /选择/的hadoop / hadoop的-1.0.4 
出口HADOOP_MAPRED_HOME = /选择/ Hadoop的/ Hadoop的1.0.4
出口SQOOP_HOME = /选择/ Hadoop的/ sqoop-1.4.3.bin__hadoop-1.0.0
出口PATH = $ PATH:$ SQOOP_HOME / bin

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

任何想法为什么我得到这个错误?
在此先感谢,
Diddy

解决方案

Scoop创建代表表格模式的Java类

./bashrc 中设置JAVA_HOME,这样就可以创建你需要的jdk而不是jre。 c $ c>和 $ HADOOP_HOME / conf / hadoop-env.sh




I tried to set up sqoop (sqoop-1.4.3.bin__hadoop-1.0.0) on Ubuntu. I can run the basic sqoop help etc without problems. When I run the following I get an error:

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)

I googled to find an answer to this error and most answer point to setting JAVA_HOME to your JDK, which I have (in ~/.bashrc [on Ubuntu]).

$ echo $JAVA_HOME
/usr/lib/jvm/jdk1.7.0_15

These are the other variables I set:

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

I also added the mysql jdbc driver to the lib folder.

Any ideas why I get this error? Thanks in advance, Diddy

解决方案

Scoop creates java classes that represent the schema of the table you are importing in. So to create the classes you need the jdk instead of the jre.

Set the JAVA_HOME in the ./bashrc and the $HADOOP_HOME/conf/hadoop-env.sh as well.

That should work.

这篇关于看起来好像您正在运行带有JRE的sqoop - 但将JAVA_HOME设置为JDK的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆