Sqoop架构介绍及搭建流程简介

来源:互联网 发布:mac 设置的快捷方式 编辑:程序博客网 时间:2024/05/29 19:14

Sqoop架构介绍 

1、Sqoop的概念 
Sqoop:SQL–to–Hadoop 
正如Sqoop的名字所示:Sqoop是一个用来将关系型数据库和Hadoop中的数据进行相互转移的工具,可以将一个关系型数据库(例如mysqlOracle)中的数据导入到Hadoop.

2.Sqoop1和Sqoop2的异同

两个不同的版本的sqoop完全不兼容! 版本号划分区别,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 引入基于角色的安全机制 

Sqoop1与Sqoop2的优缺点


比较

Sqoop1

Sqoop2

架构

仅仅使用一个Sqoop客户端

引入了Sqoop server集中化管理connector,以及rest api,web,UI,并引入权限安全机制

部署

部署简单,安装需要root权限,connector必须符合JDBC模型

架构稍复杂,配置部署更繁琐

使   

命令行方式容易出错,格式紧耦合,无法支持所有数据类型,安全机制不够完善,例如密码暴漏

多种交互方式,命令行,web UI,rest API,conncetor集中化管理,所有的链接安装在Sqoop server上,完善权限管理机制,connector规范化,仅仅负责数据的读写


sqoop1的安装部署:



安装环境:

hadoop:hadoop-2.5.0-cdh5.3.6.tar

hive:hive-0.13.1-cdh5.3.6.tar

sqoop:sqoop-1.4.5-cdh5.3.6.tar



配置环境变量和配置文件

${SQOOP_HOME}/conf/ 
$ cp sqoop-env-template.sh sqoop-env.sh     //拷贝模板生成配置环境目录


=============修改sqoop-env.sh 配置文件==============================
#Set path to where bin/hadoop is available
export HADOOP_COMMON_HOME=/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6


#Set path to where hadoop-*-core.jar is available
export HADOOP_MAPRED_HOME=/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6


#set the path to where bin/hbase is available
#export HBASE_HOME=


#Set the path to where bin/hive is available
export HIVE_HOME=/opt/modules/cdh/hive-0.13.1-cdh5.3.6


#Set the path for where zookeper config dir is
export ZOOCFGDIR=/opt/modules/cdh/zookeeper-3.4.5-cdh5.3.6/conf
================================================================



==============拷贝mysql的jdbc驱动包到${SQOOP_HOME}/lib================
$ cp mysql-connector-java-5.1.34-bin.jar /opt/modules/cdh/sqoop-1.4.5-cdh5.3.6/lib/
=====================================================================

测试连接--MySQL
bin/sqoop list-databases \
--connect jdbc:mysql://[hostname]:3306 \
--username root \
--password [password]


原创粉丝点击