sqoop安装与验证

解压

将sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz拷贝到linux下,然后解压

tar –zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz

然后进入新生成的目录

cd sqoop-1.4.6.bin__hadoop-2.0.4-alpha

cd /conf

cp sqoop-env-template.sh sqoop-env.sh

修改sqoop-env.sh(下面的目录换成你自己的安装目录)

#Set path to where bin/hadoop is available

export HADOOP_COMMON_HOME=/usr/tools/hadoop-2.6.4

 

#Set path to where hadoop-*-core.jar is available

export HADOOP_MAPRED_HOME=/usr/tools/hadoop-2.6.4

 

#set the path to where bin/hbase is available

export HBASE_HOME=/usr/tools/hbase-1.2.0

 

#Set the path to where bin/hive is available

export HIVE_HOME=/usr/tools/apache-hive-2.0.0-bin

 

#Set the path for where zookeper config dir is

export ZOOCFGDIR=/usr/zookeeper-3.4.5

 

修改环境变量:

vi /etc/profile
#sqoop

export SQOOP_HOME=/usr/tools/sqoop-1.4.6.bin__hadoop-2.0.4-alpha

export PATH=$PATH:$SQOOP_HOME/bin

保存后使其生效

source /etc/profile

检查sqoop是否安装成功:sqoop help

简单测试:

开启mysql远程访问:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123qwe';

FLUSH PRIVILEGES;

列出链接数据所有表

sqoop list-tables -connect jdbc:mysql://localhost:3306/test --username root --password 123qwe

这一步可能会报错:

Warning: /opt/module/sqoop/sqoop-1.4.7.bin__hadoop-2.6.0/../hcatalog does not exist! HCatalog jobs will fail.

Please set $HCAT_HOME to the root of your HCatalog installation.

Warning: /opt/module/sqoop/sqoop-1.4.7.bin__hadoop-2.6.0/../accumulo does not exist! Accumulo imports will fail.

Please set $ACCUMULO_HOME to the root of your Accumulo installation.

Warning: /opt/module/sqoop/sqoop-1.4.7.bin__hadoop-2.6.0/../zookeeper does not exist! Accumulo imports will fail.

Please set $ZOOKEEPER_HOME to the root of your Zookeeper installation.

20/05/15 17:16:25 INFO sqoop.Sqoop: Running Sqoop version: 1.4.7

20/05/15 17:16:25 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead.

20/05/15 17:16:25 INFO manager.MySQLManager: Preparing to use a MySQL streaming resultset.

20/05/15 17:16:25 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:875)

       at org.apache.sqoop.manager.GenericJdbcManager.getConnection(GenericJdbcManager.java:59)

       at org.apache.sqoop.manager.CatalogQueryManager.listTables(CatalogQueryManager.java:102)

       at org.apache.sqoop.tool.ListTablesTool.run(ListTablesTool.java:49)

       at org.apache.sqoop.Sqoop.run(Sqoop.java:147)

       at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)

       at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183)

       at org.apache.sqoop.Sqoop.runTool(Sqoop.java:234)

       at org.apache.sqoop.Sqoop.runTool(Sqoop.java:243)

       at org.apache.sqoop.Sqoop.main(Sqoop.java:252)

原因:/opt/module/sqoop/sqoop-1.4.7.bin__hadoop-2.6.0/lib目录下缺少mysql的jar驱动

解决办法:把hive的lib下的mysql-connector-java-5.1.47.jar复制到sqoop的lib目录下即可

查看结果与MySQL的show tables;结果一致

注意,这里会报警告:

Warning: /opt/module/sqoop/sqoop-1.4.7.bin__hadoop-2.6.0/../hcatalog does not exist! HCatalog jobs will fail.

Please set $HCAT_HOME to the root of your HCatalog installation.

Warning: /opt/module/sqoop/sqoop-1.4.7.bin__hadoop-2.6.0/../accumulo does not exist! Accumulo imports will fail.

Please set $ACCUMULO_HOME to the root of your Accumulo installation.

Warning: /opt/module/sqoop/sqoop-1.4.7.bin__hadoop-2.6.0/../zookeeper does not exist! Accumulo imports will fail.

Please set $ZOOKEEPER_HOME to the root of your Zookeeper installation.

这主要是因为集群中没有安装HCatal和accumulo环境变量,但sqoop默认会检测这两个组件。若非要去掉这两个检测,可以修改bin/config-sqoop文件,很容易找到这两个组件的检测位置。把下面两行注释掉即可:(你也可以选择安装HCatal和accumulo这两个组件)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AllenGd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值