sqoop导入查询出错

时间:2011-12-09 13:11:24

标签: hadoop sqoop

情景:

      I am trying for importing data from MS SQL Server to HDFS. But I am getting certain errors as:

错误:

hadoop@ubuntu:~/sqoop-1.1.0$ bin/sqoop import --connect 'jdbc:sqlserver://localhost;username=abcd;password=12345;database=HadoopTest' --table PersonInfo
11/12/09 18:08:15 ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.RuntimeException: Could not find appropriate Hadoop shim for 0.20.1
java.lang.RuntimeException: Could not find appropriate Hadoop shim for 0.20.1
    at com.cloudera.sqoop.shims.ShimLoader.loadShim(ShimLoader.java:190)
    at com.cloudera.sqoop.shims.ShimLoader.getHadoopShim(ShimLoader.java:109)
    at com.cloudera.sqoop.tool.BaseSqoopTool.init(BaseSqoopTool.java:173)
    at com.cloudera.sqoop.tool.ImportTool.init(ImportTool.java:81)
    at com.cloudera.sqoop.tool.ImportTool.run(ImportTool.java:411)
    at com.cloudera.sqoop.Sqoop.run(Sqoop.java:134)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)
    at com.cloudera.sqoop.Sqoop.runSqoop(Sqoop.java:170)
    at com.cloudera.sqoop.Sqoop.runTool(Sqoop.java:196)
    at com.cloudera.sqoop.Sqoop.main(Sqoop.java:205)

问题:

我已成功配置Sqoop然后可能出现什么问题?我试图通过输入IP地址连接到数据库,但也有同样的问题。 如何删除这些错误?请建议我解决。

感谢。

4 个答案:

答案 0 :(得分:1)

Sqoop现在是Apache的孵化器项目。没有理由Sqoop只能运行CDH而不是Apache Hadoop。

Sqoop documentationSqoop is compatible with Apache Hadoop 0.21 and Cloudera's Distribution of Hadoop version 3.。因此,我认为使用正确版本的Apache也可以解决问题。

SQOOP-82超过一年,之后发生了变化。

仅供参考,Sqoop成为Hadoop 0.21分支的一部分,并在将其移至Apache Incubator后从Hadoop中删除。

答案 1 :(得分:0)

请检查此issue

Sqoop不支持Apache Hadoop 0.20.2。唯一受支持的平台是CDH 3 beta 2.它需要在Apache 0.20.2版本的Hadoop中没有的MapReduce功能。如果要运行Sqoop 1.0.0,则应升级到CDH 3 beta 2.

答案 2 :(得分:0)

在您的sqoop导入命令中,您使用 - 驱动程序

错过了驱动程序值

可能会有所帮助。

答案 3 :(得分:0)

我认为你应该尝试这个,它可以解决你的问题:
添加sqlserver的端口号。使用my.conf(/etc/mysql/my.conf)文件检查端口号。

使用端口号和架构尝试此命令:

sqoop import --connect jdbc:mysql:// localhost:3306 / mydb -username root -password password --table emp --m 1