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 地址连接到数据库,但也存在同样的问题。 我怎样才能消除这些错误?请建议我解决方案。
谢谢。
Scenario:
I am trying for importing data from MS SQL Server to HDFS. But I am getting certain errors as:
Errors:
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)
Question:
I have configured Sqoop successfully and then what could be the problem? I am trying to connect to database by entering IP address but there is also the same problem.
How can I remove these error? Pls suggest me solution.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
Sqoop 现在是 Apache 中的一个孵化器项目。 Sqoop 没有理由只能与 CDH 一起运行,而不与 Apache Hadoop 一起运行。
Sqoop 文档说
Sqoop是与 Apache Hadoop 0.21 和 Cloudera 的 Hadoop 版本 3 兼容。
。所以,我认为使用正确版本的 Apache 也能解决问题。SQOOP-82 已有一年多的历史,此后发生了一些变化。
仅供参考,Sqoop 已成为 Hadoop 0.21 分支的一部分,并在将其移至 Apache 孵化器后已从 Hadoop 中删除。
Sqoop is now an incubator project in Apache. There is no reason Sqoop should only run with CDH and not Apache Hadoop.
The Sqoop documentation says
Sqoop is compatible with Apache Hadoop 0.21 and Cloudera's Distribution of Hadoop version 3.
. So, I think using the the correct version of Apache will also solve the problem.SQOOP-82 is more than an year old and there had been changes after that.
FYI, Sqoop was made part of the Hadoop 0.21 branch and has been removed from Hadoop after moving it to Apache Incubator.
请检查此问题:
Sqoop 无法与 Apache Hadoop 0.20.2 一起运行。唯一受支持的平台是 CDH 3 beta 2。它需要 Apache 0.20.2 版本的 Hadoop 中不提供的 MapReduce 功能。如果您想运行 Sqoop 1.0.0,您应该升级到 CDH 3 beta 2。
Please check this issue:
Sqoop does not run with Apache Hadoop 0.20.2. The only supported platform is CDH 3 beta 2. It requires features of MapReduce not available in the Apache 0.20.2 release of Hadoop. You should upgrade to CDH 3 beta 2 if you want to run Sqoop 1.0.0.
在您的 sqoop 导入命令中,您缺少使用 --driver 的驱动程序值,
这可能会有所帮助。
In your sqoop import command you are missing the driver value using --driver
May be this will help.
我认为你应该尝试这个,它可能会解决你的问题:
添加sqlserver的端口号。对于端口号,请检查您的
my.conf(/etc/mysql/my.conf)
文件。使用端口号和模式尝试此命令:
sqoop import --connect jdbc:mysql://localhost:3306/mydb -username root -password password --table emp --m 1
I think you should try this one, it may solve your problem:
Add the port number of the sqlserver. For port number check with your
my.conf(/etc/mysql/my.conf)
file.Try this command with port number and schema:
sqoop import --connect jdbc:mysql://localhost:3306/mydb -username root -password password --table emp --m 1