文章目录

  • 1. Sqoop介绍
  • 1.1 Sqoop简介
  • 1.2 Sqoop原理
  • 2. Sqoop安装配置


1. Sqoop介绍

1.1 Sqoop简介

Apache Sqoop™是一种旨在有效地在Apache Hadoop和诸如关系数据库等结构化数据存储之间传输大量数据的工具。
Sqoop于2012年3月孵化出来,现在是一个顶级的Apache项目。请注意,1.99.7与1.4.6不兼容,且没有特征不完整,它并不打算用于生产部署。

1.2 Sqoop原理

将导入或导出命令翻译成MapReduce程序来实现。在翻译出的MapReduce中主要是对InputFormat和OutputFormat进行定制。

2. Sqoop安装配置

  1. 下载Sqoop安装包。
  2. 解压并重命名。
tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /usr/local/
mv sqoop-1.4.7.bin__hadoop-2.6.0 sqoop-1.4.7
  1. 修改配置文件。
cd sqoop-1.4.7/conf
mv sqoop-env-template.sh sqoop-env.sh
vim sqoop-env.sh
export HADOOP_COMMON_HOME=/usr/local/hadoop-2.8.4
export HADOOP_MAPRED_HOME=/usr/local/hadoop-2.8.4
export HIVE_HOME=/usr/local/hive-3.1.2
export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.10
export ZOOCFGDIR=/usr/local/zookeeper-3.4.10/conf
  1. 上传JDBC驱动。
cp /usr/local/hive-3.1.2/lib/mysql-connector-java-5.1.38.jar /usr/local/sqoop-1.4.7/lib/
  1. 配置环境变量。
vim /etc/profile
export SQOOP_HOME=/usr/local/sqoop-1.4.7
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$SQOOP_HOME/bin:$PATH
source /etc/profile
  1. 验证是否成功。
sqoop version
# 会有警告,注释掉bin/configure-sqoop中相应内容即可消除警告,这里先不注释了。
  1. 测试连接MySQL数据库是否成功。
sqoop list-databases --connect jdbc:mysql://topnpl200:3306/ --username root --password 666***

# 出现如下输出,说明成功:
information_schema
metastore
mysql
performance_schema

报错:
Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils
解决:
在apache 上下载commons-lang-2.6.jar包并上传到lib下即可,下载地址:
http://mirrors.tuna.tsinghua.edu.cn/apache//commons/lang/binaries/commons-lang-2.6-bin.zip