sqoop介绍及安装

什么是sqoop

sqoop是一个用来将关系型数据库和hadoop中的数据进行相互转移的工具。例如关系型数据库mysql、oracle等,hadoop数据如hdfs、hive、hbase等。

sqoop提供了哪些主要功能

  1. 数据导入。如关系型数据库导入到hdfs。
  2. 数据导出。如hdfs数据导出到关系型数据库。
  3. sqoop定时作业。如定时导入导出新数据。
  4. 等等

sqoop核心技术

1、生成mapreduce

sqoop接收用户的请求,通过解析请求,生成mapreduce代码,并打包,将打好的jar包提交给hadoop执行。生成mapreduce代码是sqoop的核心技术,也是数据传输的关键。

2、作业创建

定时导入导出新数据的sqoop作业。

3、数据映射

关系型数据库字段是有类型的,数据映射可以自动对数据库字段类型和hadoop的类型进行对应。当然也可以自定义类型映射。

4、并行控制

采用sqoop集群或者多个任务并行进行数据的导入导出工作。为了提升性能使用的。

安装

官网下载sqoop的安装包,此处使用的sqoop2

# 1.解压
$ tar -zxf sqoop-1.99.7-bin-hadoop200.tar.gz

$ ls
bin  CHANGELOG.txt  conf  docs  LICENSE.txt  NOTICE.txt  README.txt  server  shell  tools

# 2.配置sqoop环境变量,增加以下环境配置
$ vim /etc/profile
export SQOOP_HOME=/usr/local/app/sqoop/sqoop-1.99.7-bin-hadoop200
export PATH=$PATH:$SQOOP_HOME/bin
export CATALINA_HOME=$SQOOP_HOME/server
export SQOOP_SERVER_EXTRA_LIB=$SQOOP_HOME/extra
export LOGDIR=$SQOOP_HOME/logs

# 3.在sqoop目录下创建extra和logs目录
$ mkdir extra logs

# 4.告知sqoop从何处寻找hadoop的配置文件
$ vi sqoop.properties
# Hadoop configuration directory
org.apache.sqoop.submission.engine.mapreduce.configuration.directory=/usr/local/app/hadoop/hadoop-3.1.2/etc/hadoop

# 5.在conf目录下,添加catalina.properties文件。加入本机hadoop的相关jar路径
# catalina.properties文件内容如下,只要替换hadoop的安装目录就行了
common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar,${catalina.home}/../lib/*.jar,/usr/local/app/hadoop/hadoop-3.1.2/share/hadoop/common/*.jar,/usr/local/app/hadoop/hadoop-3.1.2/share/hadoop/common/lib/*.jar,/usr/local/app/hadoop/hadoop-3.1.2/share/hadoop/hdfs/*.jar,/usr/local/app/hadoop/hadoop-3.1.2/share/hadoop/hdfs/lib/*.jar,/usr/local/app/hadoop/hadoop-3.1.2/share/hadoop/mapreduce/*.jar,/usr/local/app/hadoop/hadoop-3.1.2/share/hadoop/mapreduce/lib/*.jar,/usr/local/app/hadoop/hadoop-3.1.2/share/hadoop/tools/lib/*.jar,/usr/local/app/hadoop/hadoop-3.1.2/share/hadoop/yarn/*.jar,/usr/local/app/hadoop/hadoop-3.1.2/share/hadoop/yarn/lib/*.jar,/usr/local/app/hadoop/hadoop-3.1.2/share/hadoop/httpfs/tomcat/lib/*.jar

# 6.在SQOOP_HOME/server/lib目录下加入mysql的jar包
$ pwd
/usr/local/app/sqoop/sqoop-1.99.7-bin-hadoop200/server/lib
$ ls mysql-connector-java-8.0.13.jar 
mysql-connector-java-8.0.13.jar

# 启动sqoop server 服务
$ sqoop2-server start
# 进入sqoop交互模式
$ sqoop2-shell
posted @ 2019-07-01 13:42  聊聊天儿  阅读(427)  评论(0)    收藏  举报