Ubuntu下Sqoop安装配置

本文详细记录了在Ubuntu环境下安装配置Sqoop 1.4.3与Hadoop 1.0.3的过程,以及遇到的两个主要问题及解决方案:1) Sqoop运行时找不到main类的问题,通过将sqoop-1.4.3.jar添加到hadoop-1.0.3/lib解决;2) Sqoop连接MySQL时无法加载数据库驱动的问题,解决办法是将mysql-connector-java-5.1.24-bin.jar同时放入$SQOOP_HOME/lib和hadoop-1.0.3/lib,并删除$SQOOP_HOME/lib下的mysql jar包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需要用到Sqoop将原来mysql中的数据导入到HBase,以下是安装配置Sqoop的步骤和问题记录:

1. 项目用到的hadoop的版本是1.0.3,所以对应的sqoop是sqoop-1.4.3.bin__hadoop-1.0.0,mysql的jdbc是mysql-connector-java-5.1.24

2. 解压sqoop,配置环境变量:

    在/etc/profile中添加:

    export $SQOOP_HOME=/home/hadoop/sqoop-1.4.3

    export $PATH = $SQOOP_HOME/bin:$PATH

    配置完成后,需要注销或者重启

3. 解压mysql,将mysql-connector-java-5.1.24-bin.jar放到$SQOOP_HOME/lib里,配置完成。

但是遇到的问题如下:

1. 在命令行运行sqoop,提示:
    Error: Could not find or load main class org.apache.sqoop.Sqoop

    这里把sqoop解压后根目录下的sqoop-1.4.3.jar加入到hadoop-1.0.3/lib里即可。

2. 运行sqoop list-tables --connect jdbc:mysql://192.168.10.111:3306/database -username 'root' -P 提示mysql错误:

    13/07/02 10:09:53 INFO manager.MySQLManager: Preparing to use a MySQL streaming resultset.
    13/07/02 10:09:53 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:716)
at org.apache.sqoop.manager.GenericJdbcManager.getConnection(GenericJdbcManager.java:52)
at org.apache.sqoop.manager.CatalogQueryManager.listTables(CatalogQueryManager.java:101)
at org.apache.sqoop.tool.ListTablesTool.run(ListTablesTool.java:49)
at org.apache.sqoop.Sqoop.run(Sqoop.java:145)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:181)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:220)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:229)
at org.apache.sqoop.Sqoop.main(Sqoop.java:238)

     网上搜到的解决方案都说是没把mysql的jar包放到$SQOOP_HOME/lib下,但是我确实是放进去了。然后看到有个地方说是hadoop找不到mysql,我把mysql的jar包放到了hadoop-1.0.3/lib里,运行成功。

    对于这两个问题,在网上都没有搜到这样的解决方法,不清楚是不是我自己hadoop哪个地方配得不对,导致常规的配置方法不能运行成功。把sqoop和mysql的jar包都添加到hadoop/lib里之后,我把之前放到sqoop-1.4.3/lib里的mysql的jar包删掉,也可以正常运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值