sqoop1.4.6报错:ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.RuntimeException: Could not l

1、启动sqoop报错:ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.RuntimeException: Could not load db driver class: com.mysql.jdbc.Driver

[root@slave bin]# ./sqoop list-databases --connect jdbc:mysql://192.168.20.128:3306/hive --username hive --password 123456

Warning: /home/hadoop/sqoop-1.4.6/bin/../../hbase does not exist! HBase imports will fail.
Please set $HBASE_HOME to the root of your HBase installation.
Warning: /home/hadoop/sqoop-1.4.6/bin/../../hcatalog does not exist! HCatalog jobs will fail.
Please set $HCAT_HOME to the root of your HCatalog installation.
Warning: /home/hadoop/sqoop-1.4.6/bin/../../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
Warning: /home/hadoop/sqoop-1.4.6/bin/../../zookeeper does not exist! Accumulo imports will fail.
Please set $ZOOKEEPER_HOME to the root of your Zookeeper installation.
17/02/20 18:56:29 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6-cdh5.5.2
17/02/20 18:56:29 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead.
17/02/20 18:56:30 INFO manager.MySQLManager: Preparing to use a MySQL streaming resultset.
17/02/20 18:56:30 ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.RuntimeException: Could not load db driver class: com.mysql.jdbc.Driver
java.lang.RuntimeException: Could not load db driver class: com.mysql.jdbc.Driver
at org.apache.sqoop.manager.SqlManager.makeConnection(SqlManager.java:856)
at org.apache.sqoop.manager.GenericJdbcManager.getConnection(GenericJdbcManager.java:52)
at org.apache.sqoop.manager.CatalogQueryManager.listDatabases(CatalogQueryManager.java:57)
at org.apache.sqoop.tool.ListDatabasesTool.run(ListDatabasesTool.java:49)
at org.apache.sqoop.Sqoop.run(Sqoop.java:143)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227)
at org.apache.sqoop.Sqoop.main(Sqoop.java:236)

###########################
解决办法:
[root@slave lib]# jps
4274 Jps
3256 DataNode
3689 NodeManager
3162 NameNode
4043 QuorumPeerMain
3596 ResourceManager
3439 SecondaryNameNode

[root@slave lib]# cd /home/hadoop/hive-1.2.1/lib
[root@slave lib]# ll
total 96116
-rw-rw-r--  1 hadoop hadoop  4368200 Apr 30  2015 accumulo-core-1.6.0.jar
...
-rw-r--r-- 1 root root   846263 Feb 20 19:02 mysql-connector-java-5.1.24-bin.jar

[root@slave lib]# cp mysql-connector-java-5.1.24-bin.jar /home/hadoop/sqoop-1.4.6/lib

再次运行:
[root@slave bin]# ./sqoop list-databases --connect jdbc:mysql://192.168.20.128:3306/hive --username hive --password 123456
Warning: /home/hadoop/sqoop-1.4.6/bin/../../hbase does not exist! HBase imports will fail.
Please set $HBASE_HOME to the root of your HBase installation.
Warning: /home/hadoop/sqoop-1.4.6/bin/../../hcatalog does not exist! HCatalog jobs will fail.
Please set $HCAT_HOME to the root of your HCatalog installation.
Warning: /home/hadoop/sqoop-1.4.6/bin/../../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
Warning: /home/hadoop/sqoop-1.4.6/bin/../../zookeeper does not exist! Accumulo imports will fail.
Please set $ZOOKEEPER_HOME to the root of your Zookeeper installation.
17/02/20 19:02:52 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6-cdh5.5.2
17/02/20 19:02:52 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead.
17/02/20 19:02:53 INFO manager.MySQLManager: Preparing to use a MySQL streaming resultset.
information_schema
hive
mysql
performance_schema
test

.检测使用
至此Sqoop1安装完成,比起Sqoop2来说,简单多了。我们可以使用下面的Sqoop命令检测是否安装成功:
bin/sqoop help  
注意,这里可能会报警告:
Warning: /home/hadoop/deploy/sqoop-1.4.6.bin__hadoop-2.0.4-alpha//../hcatalog does not exist! HCatal ;
Warning: /home/hadoop/deploy/sqoop-1.4.6.bin__hadoop-2.0.4-alpha//../accumulo does not exist! Accumulo imports will fail.
这主要是因为集群中没有安装HCatal和accumulo环境变量,但sqoop默认会检测这两个组件。若非要去掉这两个检测,可以修改bin/config-sqoop文件,很容易找到这两个组件的检测位置

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 这个错误是由于Sqoop无法加载MySQL数据库驱动程序类com.mysql.jdbc.Driver导致的。可能是因为驱动程序JAR文件未正确配置或未在Sqoop的类路径中找到。您可以尝试检查以下内容: 1. 检查MySQL驱动程序JAR文件是否已正确配置到Sqoop的类路径中。 2. 确保MySQL驱动程序JAR文件已正确安装在Sqoop所在的机器上。 3. 检查MySQL驱动程序版本是否与Sqoop版本兼容。 4. 如果您使用的是CDH(Cloudera Distribution Hadoop),则可以尝试使用CDH提供的Sqoop版本和MySQL驱动程序版本。 希望这些提示可以帮助您解决问题。 ### 回答2: 该错误通常表示Sqoop无法加载MySQL JDBC驱动程序类com.mysql.jdbc.Driver。Sqoop需要这个驱动程序才能连接MySQL数据库,如果该类未找到,则Sqoop无法执行任何与MySQL相关的任务。 要解决此错误,有几个步骤可以尝试: 1. 检查MySQL JDBC驱动程序是否存在。请确保已将mysql-connector-java.jar文件放置在Sqoop类路径中。如果未在类路径中,则需要将其添加到类路径中。 2. 检查MySQL JDBC驱动程序的版本。Sqoop需要MySQL JDBC驱动程序的特定版本才能正常工作。请确保正在使用与Sqoop兼容的版本。 3. 检查sqoop-env.sh文件。如果使用的是Sqoop2,则需要在sqoop-env.sh文件中设置正确的数据库驱动程序,以便Sqoop2可以正确加载它。 4. 检查MySQL数据库是否在运行。如果MySQL数据库未运行,则无法使用Sqoop与其进行交互。 总之,如果遇到了这个错误,请先检查以上步骤,并确保所有设置都正确。这将确保Sqoop可以正确连接到MySQL数据库并执行所需的任务。 ### 回答3: 这个错误提示意味着在Sqoop运行时无法加载MySQL数据库的驱动程序。在Sqoop里,需要一个有效的数据库驱动程序来访问和操作数据库。这个错误通常出现在以下几种情况下: 1. 未正确安装MySQL JDBC驱动程序。 Sqoop需要用到MySQL数据库的JDBC驱动程序。如果没有正确地安装MySQL JDBC驱动程序,就会导致这个错误出现。解决此问题的方法是下载并正确安装MySQL JDBC驱动程序。 2. 没有将MySQL JDBC驱动程序添加到Sqoop的classpath中。 如果在Sqoop的classpath中没有将MySQL JDBC驱动程序添加到其中,就无法加载MySQL驱动程序。为了解决这个问题,需要将MySQL JDBC驱动程序添加到Sqoop的classpath中。可以使用export命令设置CLASSPATH变量来将JAR文件所在的目录添加到classpath中,或者在Sqoop命令中使用--driver选项指定MySQL驱动程序路径。 3. MySQL JDBC驱动程序版本不兼容。 如果MySQL JDBC驱动程序的版本不兼容,就会导致无法加载MySQL驱动程序。为了解决这个问题,需要确定MySQL驱动程序的版本是否与Sqoop兼容,并确保使用了兼容的驱动程序版本。 总之,这个错误提示表明出现了无法加载MySQL JDBC驱动程序的问题。要解决这个问题,需要确定MySQL JDBC驱动程序是否正确安装和添加到了Sqoop的classpath中,并确定驱动程序的版本是否与Sqoop兼容。只有这样,才能成功加载MySQL JDBC驱动程序并使用Sqoop访问和操作MySQL数据库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值