安装环境:
操作系统:Linux系统(Ubuntu16.04)
Sqoop版本:1.4.6
Hadoop:2.7.1
MySQL:5.7.17
1. Sqoop简介
Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。Sqoop项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后来为了让使用者能够快速部署,也为了让开发人员能够更快速的迭代开发,Sqoop独立成为一个Apache项目。
2. 下载并解压sqoop1.4.6
cd ~/下载 #进入当前用户的用户目录
sudo tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /usr/local #解压安装文件
cd /usr/local
sudo mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha sqoop #修改文件名
sudo chown -R hadoop:hadoop sqoop #修改文件夹属主,如当前用户名不是hadoop,请修改成你自己的用户名
3. 修改配置文件sqoop-env.sh
cd sqoop/conf/
cat sqoop-env-template.sh >> sqoop-env.sh #将sqoop-env-template.sh复制一份并命名为sqoop-env.sh
gedit sqoop-env.sh #编辑sqoop-env.sh
4. 修改sqoop-env.sh的如下信息
export HADOOP_COMMON_HOME=/usr/local/hadoop
export HADOOP_MAPRED_HOME=/usr/local/hadoop
export HBASE_HOME=/usr/local/hbase
export HIVE_HOME=/usr/local/hive
#export ZOOCFGDIR= #如果读者配置了ZooKeeper,也需要在此配置ZooKeeper的路径
5. 配置并修改环境变量
- gedit ~/.bashrc
- export SQOOP_HOME=/usr/local/sqoop export PATH=$PATH:$SQOOP_HOME/bin
保存该文件,退出编辑器。
然后,执行命令让配置文件立即生效:source ~/.bashrc
6. 将mysql驱动包拷贝到$SQOOP_HOME/lib
cd ~/下载 #切换到下载路径,如果你下载的文件不在这个目录下
sudo 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/sqoop/lib
7. 测试与MySQL的连接
首先请确保mysql服务已经启动了,如果没有启动,请执行下面命令启动:
service mysql start
然后测试sqoop与MySQL之间的连接是否成功:
sqoop list-databases --connect jdbc:mysql://127.0.0.1:3306/ --username root -P
mysql的数据库列表显示如下图:
至此,sqoop成功安装并配置。接下来可以用sqoop将数据从Mysql导入到HBase。