我在本地机器上安装了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
Hive:
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\u 1的表,但是当我运行load命令将数据从mysql加载到hdfs时,该命令引发了一个异常:
ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.RuntimeException: Could not load db driver class: com.mysql.jdbc.Driver
谁能告诉我可能的问题是什么吗。
7条答案
按热度按时间jyztefdp1#
你需要'sqoop'类路径中的数据库驱动程序检查这个它有关于'sqoop'的精彩解释
sqoop还有其他选择,比如
例如:--driver com.microsoft.jdbc.sqlserver.sqlserverdriver-libjars=“*jar”
从这里开始
您可以将sqoop与任何其他jdbc兼容的数据库一起使用。首先,为要导入的数据库类型下载适当的jdbc驱动程序,并将.jar文件安装在客户机上的$sqoop\u home/lib目录中(如果您是从rpm或debian包安装的,那么它将是/usr/lib/sqoop/lib。)每个driver.jar文件还有一个特定的驱动程序类,它定义了驱动程序的入口点。例如,mysql的connector/j库有一个驱动程序类com.mysql.jdbc.driver。请参阅特定于数据库供应商的文档以确定主驱动程序类。此类必须作为sqoop的一个参数提供--driver。
您可能对理解连接器和驱动程序之间的区别感兴趣
6qqygrtg2#
如果您已经将mysql驱动程序复制到sqoop lib文件夹中。它肯定会有用的。确保sqoop命令正确
a0x5cqrl3#
另一个避免使用共享库的解决方案是使用hadoop\u类路径将驱动程序jar添加到sqoop的类路径中。我没有-libjars选项来工作。此解决方案也适用于使用kerberos的安全集群。
这个至少适用于sqoop1.4.3-cdh4.4.0
kpbpu0084#
你需要同意
priveleges
下表:将marksheet.*上的所有权限授予“root”@“192.168.168.1”,由“root123”标识;
刷新特权;
下面是我成功执行的示例命令:
sqoop import--verbose--以“,”结尾的字段--connectjdbc:mysql://192.168.168.1/test--用户名root--密码root123--表student--配置单元导入--创建配置单元表--配置单元home/home/training/hive--仓库dir/user/hive/warehouse--以“,”结尾的字段--配置单元表studentmysql
whitzsjs5#
将“mysql-connector-java-5.1.41-bin.jar”复制到sqoop/lib文件夹并执行sqoop import语句
mqkwyuun6#
这是一个oozie sharelib问题。下面的脚本适用于我的:
在壳牌
在sqoop客户端
更多详情请参见:
https://blog.cloudera.com/blog/2014/05/how-to-use-the-sharelib-in-apache-oozie-cdh-5/
eufgjt7s7#
您需要将mysql连接器添加到/usr/lib/sqoop/lib。默认情况下,mysql jdbc驱动程序不存在于sqoop发行版中,以确保默认发行版完全符合apache许可证。希望这有帮助。。。!!!