Sqoop

Sqoop简介

Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。Sqoop项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后来为了让使用者能够快速部署,也为了让开发人员能够更快速的迭代开发,Sqoop独立成为一个Apache项目。

安装环境:
操作系统:Linux系统(Centos 7 )
sqoop版本: 1.4.6
hadoop: 2.8.5
mysql:5.7.15
注意:sqoop1与sqoop2完全不兼容,1.4.6及之前版本是sqoop1,之后是sqoop2

安装Sqoop

解压sqoop并重命名

$ | tar -zxvf sqoop-1.4.6.bin_hadoop-2.0.4-alpha.tar.gz -C /usr/local/src/ # 解压到指定文件目录
$ | cd /usr/local/src/
$ | mv sqoop-1.4.5.bin_hadoop-2.0.4-alpha sqoop #修改文件名

修改配置文件sqoop-env.sh

$ | cd /usr/local/src/sqoop/conf
$ | cat sqoop-env-template.sh >> sqoop-env.sh # 将sqoop-env.template.sh 复制一份并命名为sqoop-env.sh
$ | vim sqoop-env.sh # 编辑sqoop-env.sh

修改sqoop-env.sh的如下信息

$ | export HADOOP_COMMON_HOME=/usr/local/src/hadoop
$ | export HADOOP_MAPRED_HOME=/usr/local/src/hadoop
$ | export HIVE_HOME=/usr/local/src/hive
# export ZOOCFGDIR = # 如果你在之前安装了zookeeper,也需要在此配置zookeeper的路径

配置环境变量

$ | vim /etc/profile

在配置文件第一行键入如下信息:

$ | export SQOOP_HOME=/usr/local/src/sqoop
$ | export PATH=$PATH:SQOOP_HOME/bin
$ | export CLASSPATH=$CLASSPATH:$SQOOP_HOME/lib

保存该文件,退出vim编辑器
环境文件source生效

$ | source /etc/profile

将mysql驱动包拷贝到 S Q O O P H O M E / l i b 下 面 要 把 M y S Q L 驱 动 程 序 拷 贝 到 SQOOP_HOME/lib 下面要把MySQL驱动程序拷贝到 SQOOPHOME/libMySQLSQOOP_HOME/lib目录下,首先请在Linux系统的浏览器中请点击mysql驱动包下载地址下载驱动包。下载后,一般文件会被浏览器默认放置在当前用户的下载目录下,本教程采用hadoop用户登录Linux系统,因此,下载文件被默认放置在“/home/hadoop/下载”目录下面。

下面执行命令拷贝文件:

$ | cd tar -zxvf mysql-connector-java-5.1.40.tar.gz # 解压mysql驱动包
$ | ls # 解压后会看到mysql-connector-java-5.1.40
$ | cp ./mysql-connector-java-5.1.40/mysql-connector-java-5.1.40-bin.jar /usr/local/src/sqoop/lib

测试与mysql连接

$ | service mysql start #启动mysql
$ | sqoop list-databases --connect jdbc:mysql://ip:3306/ --username hive -p

mysql的数据库列表显示在屏幕上表示连接成功,如下图:
在这里插入图片描述

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐