Sqoop安装简介及部署

Sqoop安装部署 :https://blog.csdn.net/weixin_45102492/article/details/104600343
sqoop的一些常用命令及参数 :https://blog.csdn.net/weixin_45102492/article/details/92438970
sqoop数据导入 :https://blog.csdn.net/weixin_45102492/article/details/90727928
Sqoop数据导出 :https://blog.csdn.net/weixin_45102492/article/details/104675105
Sqoop之hive的job :https://blog.csdn.net/weixin_45102492/article/details/104608162
Sqoop抽取数据常见错误 :https://blog.csdn.net/weixin_45102492/article/details/104608006

Sqoop安装部署

数据同步工具(针对各种数据库) :
开源工具: sqoop、datax、kettle、cannal、自定义代码。

Sqoop简介

产生背景 :

基于传统关系型数据库的稳定性。还是有很多企业将数据存储在关系型数据库中,早期由于工具的缺乏,Hadoop与传统数据库之间的数据传输非常困难。基于前两个方面的考虑。需要一个在传统关系型数据库和hadoop之间进行数据传输的项目。Sqoop应运而生。

Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。

Sqoop项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后来为了让使用者能够快速部署,也为了让开发人员能够更快速的迭代开发,Sqoop独立成为一个Apache项目。

Sqoop2的最新版本是1.99.7。请注意,2与1不兼容,且特征不完整,它并不打算用于生产部署。

Sqoop是什么

Sqoop是一个用于Hadoop结构化数据存储(如关系型数据库)之间进行高效传输大批量数据的工具。它包括以下两个方面:

可以使用Sqoop将数据从关系型数据库管理系统(如MySQL)导入到Hodoop系统(如HDFS、Hive、 HBase)中

将数据从Hadoop系统中抽取并o出到关系型数据库如MSQL)

底层实现原理

Sqoop的核心设计思想是利用MapReduce加快数据传输速度。也就星说Sqoop的导入和导出功能是通过基于Map Task (只有map )的MapReduce作业实现的。所以它是一种批处理方式进行数据传输。难以实现实时的数据进行导入和导出。

Sqoop安装

注意:安装Sqoop的前提是已经具备Java和Hadoop的环境。

在Sqoop官网下载http://mirror.bit.edu.cn/apache/sqoop/

上传安装包sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz到虚拟机中/opt/module/Sqoop目录下。

解压Sqoop安

# 下面的命令是解压到当前目录,如果要解压到指定目录可以在此命令后添加 -C 目标目录
[root@node01 Sqoop]# tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz 

修改配置文件

Sqoop的配置文件与大多数大数据框架类似,在sqoop根目录下的conf目录中。
重命名配置文件

[root@node01 conf]# cp sqoop-env-template.sh sqoop-env.sh 
  1. 修改配置文件
[root@node01 conf]# vi sqoop-env.sh 
## 修改以下内容,服务器上安装了了哪一个就修改哪一个,没有安装的不用修改
#Set path to where bin/hadoop is available
export HADOOP_COMMON_HOME=/opt/module/Hadoop/hadoop-2.7.7

#Set path to where hadoop-*-core.jar is available
export HADOOP_MAPRED_HOME=/opt/module/Hadoop/hadoop-2.7.7

#set the path to where bin/hbase is available
export HBASE_HOME=/opt/module/HBase/hbase-1.4.10

#Set the path to where bin/hive is available
export HIVE_HOME=/opt/module/Hive/hive

#Set the path for where zookeper config dir is
export ZOOCFGDIR=/opt/module/Zookeeper/zookeeper-3.5.5
export ZOOKEEPER_HOME=/opt/module/Zookeeper/zookeeper-3.5.5

拷贝JDBC驱动mysql-connector-java-5.1.47-bin.jar到Sqoop的lib

验证Sqoop是否安装成功

可以通过某一个command来验证sqoop配置是否正确:

[root@node01 sqoop]# ./bin/sqoop help
Warning: /opt/module/Sqoop/sqoop/bin/../../hcatalog does not exist! HCatalog jobs will fail.
Please set $HCAT_HOME to the root of your HCatalog installation.
Warning: /opt/module/Sqoop/sqoop/bin/../../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
20/03/01 22:23:25 INFO sqoop.Sqoop: Running Sqoop version: 1.4.7
usage: sqoop COMMAND [ARGS]

Available commands:
  codegen            Generate code to interact with database records
  create-hive-table  Import a table definition into Hive
  eval               Evaluate a SQL statement and display the results
  export             Export an HDFS directory to a database table
  help               List available commands
  import             Import a table from a database to HDFS
  import-all-tables  Import tables from a database to HDFS
  import-mainframe   Import datasets from a mainframe server to HDFS
  job                Work with saved jobs
  list-databases     List available databases on a server
  list-tables        List available tables in a database
  merge              Merge results of incremental imports
  metastore          Run a standalone Sqoop metastore
  version            Display version information

See 'sqoop help COMMAND' for information on a specific command.

测试Sqoop是否能够成功连接数据库

[root@node01 sqoop]# bin/sqoop list-databases --connect jdbc:mysql://node01:3306/ --username root --password 123456
Warning: /opt/module/Sqoop/sqoop/bin/../../hcatalog does not exist! HCatalog jobs will fail.
Please set $HCAT_HOME to the root of your HCatalog installation.
Warning: /opt/module/Sqoop/sqoop/bin/../../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
20/03/01 22:24:58 INFO sqoop.Sqoop: Running Sqoop version: 1.4.7
20/03/01 22:24:58 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead.
20/03/01 22:24:59 INFO manager.MySQLManager: Preparing to use a MySQL streaming resultset.
Sun Mar 01 22:25:00 CST 2020 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
information_schema
hive
hyk
metastore
mysql
news_db
performance_schema
sys

环境变量配置

# 编辑环境变量
[root@node01 ~]# vim /etc/profile
#Sqoop环境变量
export SQOOP_HOME=/opt/module/Sqoop/sqoop
export PATH=$PATH:$SQOOP_HOME/bin


# 使环境变量立即生效
[root@node01 ~]# source /etc/profile

如果source后环境变量没有起作用,重启一下虚拟机就可以了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值