4

设想:

我正在尝试从 sql server 导入 HDFS,但出现以下错误:

错误:

hadoop@ubuntu:~/sqoop-1.1.0/bin$ ./sqoop import --connect 'jdbc:sqlserver://192.168.230.1;username=xxx;password=xxxxx;database=HadoopTest' --table PersonInfo --target-dir /home/hadoop/hadoop-0.21.0/

11/12/10 12:13:20 ERROR tool.BaseSqoopTool: Got error creating database manager: java.io.IOException: No manager for connect string: jdbc:sqlserver://192.168.230.1;username=xxx;password=xxxxx;database=HadoopTest
at com.cloudera.sqoop.ConnFactory.getManager(ConnFactory.java:119)
at com.cloudera.sqoop.tool.BaseSqoopTool.init(BaseSqoopTool.java:178)
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:69)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:83)
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)

问题:

我没有得到什么问题?我的 Hadoop 版本:hadoop-0.21.0 Sqoop 版本:sqoop-1.1.0

请建议我解决方案。谢谢。

4

3 回答 3

2

你的语法是错误的。使用以下语法

 ./sqoop import --connect jdbc:sqlserver://192.168.230.1:<PORT_NUMBER>/HadoopTest --username xxx --password xxxxx --table PersonInfo --target-dir /home/hadoop/hadoop-0.21.0/

还要确保 jdbc jasrs 应该存在于

$SQOOP_HOME/lib
于 2014-05-06T12:46:33.213 回答
1

听起来很奇怪,使用单个 tic ' 来包含您的连接字符串可能会导致问题。如果您使用双引号 " 或根本不使用双引号,它可能对您更有效——至少在我的环境中是这样。

所以,而不是

./sqoop import --connect 'jdbc:sqlserver://192.168.230.1;username=xxx;password=xxxxx;database=HadoopTest' --table PersonInfo --target-dir /home/hadoop/hadoop-0.21.0/

尝试

./sqoop import --connect "jdbc:sqlserver://192.168.230.1;username=xxx;password=xxxxx;database=HadoopTest" --table PersonInfo --target-dir /home/hadoop/hadoop-0.21.`0/

或者

./sqoop import --connect jdbc:sqlserver://192.168.230.1;username=xxx;password=xxxxx;database=HadoopTest --table PersonInfo --target-dir /home/hadoop/hadoop-0.21.0/

希望能帮助到你。

于 2017-02-22T22:35:43.573 回答
-2

您需要指定 Drivermanager

--driver com.microsoft.jdbc.sqlserver.SQLServerDriver

于 2011-12-10T10:07:50.530 回答