1 搭建环境
部署节点操作系统为CentOS,防火墙和SElinux禁用,创建了一个shiyanlou用户并在系统根目录下创建/app目录,用于存放Hadoop等组件运行包。因为该目录用于安装hadoop等组件程序,用户对shiyanlou必须赋予rwx权限(一般做法是root用户在根目录下创建/app目录,并修改该目录拥有者为shiyanlou(chown –R shiyanlou:shiyanlou /app)。
Hadoop搭建环境:
- 虚拟机操作系统: CentOS6.6 64位,单核,1G内存
- JDK:1.7.0_55 64位
- Hadoop:1.1.2
2 Sqoop介绍
2.1 Sqoop简介
Sqoop即 SQL to Hadoop ,是一款方便的在传统型数据库与Hadoop之间进行数据迁移的工具,充分利用MapReduce并行特点以批处理的方式加快数据传输,发展至今主要演化了二大版本,Sqoop1和Sqoop2。
Sqoop工具是hadoop下连接关系型数据库和Hadoop的桥梁,支持关系型数据库和hive、hdfs,hbase之间数据的相互导入,可以使用全表导入和增量导入。
那么为什么选择Sqoop呢?
- 高效可控的利用资源,任务并行度,超时时间。
- 数据类型映射与转化,可自动进行,用户也可自定义
- 支持多种主流数据库,MySQL,Oracle,SQL Server,DB2等等
2.2 Sqoop1和Sqoop2比较
2.2.1 Sqoop1和Sqoop2异同
- 两个不同的版本,完全不兼容
- 版本号划分区别,Apache版本:1.4.x(Sqoop1); 1.99.x(Sqoop2) CDH版本 : Sqoop-1.4.3-cdh4(Sqoop1) ; Sqoop2-1.99.2-cdh4.5.0 (Sqoop2)
- Sqoop2比Sqoop1的改进
- 引入Sqoop server,集中化管理connector等
- 多种访问方式:CLI,Web UI,REST API
- 引入基于角色的安全机制
2.2.2 Sqoop1与Sqoop2的架构图
Sqoop架构图1
Sqoop架构图2
2.2.3 Sqoop1与Sqoop2的优缺点
3 安装部署Sqoop
3.1 下载S