当前位置:  开发笔记 > 编程语言 > 正文

Sqoop:无法加载mysql驱动程序异常

如何解决《Sqoop:无法加载mysql驱动程序异常》经验,为你挑选了2个好方法。

我在本地机器上安装了Sqoop.以下是配置信息.

Bash.bashrc:

export HADOOP_HOME=/home/hduser/hadoop
export HBASE_HOME=/home/hduser/hbase
export HIVE_HOME=/home/hduser/hive
export HCAT_HOME=/home/hduser/hive/hcatalog
export SQOOP_HOME=/home/hduser/sqoop

export PATH=$PATH:$HIVE_HOME/bin
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HBASE_HOME/bin
export PATH=$PATH:$SQOOP_HOME/bin
export PATH=$PATH:$HCAT_HOME/bin

Hadoop的:

Version: Hadoop 1.0.3

蜂巢:

Version: hive 0.11.0 

Mysql连接器驱动程序

version: mysql-connector-java-5.1.29

"The driver is copied to the lib folder of sqoop"

Sqoop:

version: sqoop 1.4.4

完成所有安装后,我在mysql中创建了一个名为practice_1的表,但是当我运行load命令将数据从mysql加载到hdfs时,该命令会抛出异常:

ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.RuntimeException: Could not     load db driver class: com.mysql.jdbc.Driver

Coud有人请指导我可能出现的问题.



1> malatesh..:

你需要'SQOOP'类路径中的数据库驱动程序检查这个 关于'SQOOP'的精彩解释

SQOOP还有其他选择

例如: - driver com.microsoft.jdbc.sqlserver.SQLServerDriver -libjars =".*jar"

从这里开始

您可以将Sqoop与任何其他符合JDBC的数据库一起使用.首先,为要导入的数据库类型下载相应的JDBC驱动程序,然后将.jar文件安装在客户端计算机上的$ SQOOP_HOME/lib目录中.(如果您是从RPM或Debian软件包安装的,那么这将是/ usr/lib/sqoop/lib.)每个驱动程序.jar文件还有一个特定的驱动程序类,它定义了驱动程序的入口点.例如,MySQL的Connector/J库的驱动程序类为com.mysql.jdbc.Driver.请参阅数据库供应商特定的文档以确定主驱动程序类.必须使用--driver将此类作为Sqoop的参数提供.

您可能有兴趣了解连接器和驱动程序之间的区别这里是文章



2> selle..:

另一种避免使用共享库的解决方案是使用HADOOP_CLASSPATH将驱动程序jar添加到sqoop的类路径中.我没有-libjars选项可以工作.此解决方案也适用于使用kerberos的安全集群.

HADOOP_CLASSPATH=/use.case/lib/postgresql-9.2-1003-jdbc4.jar
sqoop export --connect jdbc:postgresql://db:5432/user \
  --driver org.postgresql.Driver \
  --connection-manager org.apache.sqoop.manager.GenericJdbcManager \
  --username user \
  -P \
  --export-dir /user/hive/warehouse/db1/table1 \
  --table table2

这个至少适用于sqoop 1.4.3-cdh4.4.0

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有