大数据Sqoop搭建

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 大数据Sqoop搭建

1 启动条件

Sqoop需要安装在成功部署,Hadoop的平台上,并且要求Hadoop已经正常启动。读者可以参见第6章中有关验证Hadoop是否处于正常运行状态的方法。

准备就绪后,就可以开始安装Sqoop了。我们打算将Sqoop安装在Master上,因此以下的操作均是在Master上进行的。

2 下载或复制Sqoop安装包

http://archive.apache.org/dist/sqoop/1.4.7/

3 解压并安装Sqoop

tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz

4 配置Sqoop

4.1 配置MySQL连接器

Sqoop经常要与MySQL结合使用,以便数据导入或导出MySQL,所以需要配置MySQL连接器。在第6章介绍Hive的安装时我们也为其配置过Java连接器。实际上,这里也需要进行类似的配置。


首先进入“/home/csu/resources/mysql-connector-java-8.0.11/”目录(读者计算机系统的设置可能不一样),然后将其中的mysql-connector-java-8.0.11.jar文件复制到Sqoop的安装目录的依赖库目录(即lib)下。

4.2 配置Sqoop环境变量

在Sqoop的安装目录的“conf”子目录下,系统已经提供了一个环境变量文件模板,我们需要将其名称改为sqoop-env.sh,然后进行必要的修改。首先进入Sqoop的安装目录的“conf”子目录,然后执行改名操

作,接着使用gedit编辑器打开sqoop-env.sh文件。

cp sqoop-env-template.sh sqoop-env.sh

追加或替换

#Set path to where bin/hadoop is available
export HADOOP_COMMON_HOME=/home/csu/hadoop-3.1.0
#Set path to where hadoop-*-core.jar is available
export HADOOP_MAPRED_HOME=/home/csu/hadoop-3.1.0
#set the path to where bin/hbase is available
export HBASE_HOME=/home/csu/hbase-2.0.4
#Set the path to where bin/hive is available 
export HIVE_HOME=/home/csu/apache-hive-3.1.0-bin 
#Set the path for where zookeeper config dir is
#export ZOOCFGDIR=/usr/local/zk

4.3 配置Linux环境变量

vim /etc/profile

source /etc/profile

4.3 配置Linux环境变量
vim /etc/profile
source /etc/profile

5 启动并验证Sqoop

一种简便验证Sqoop安装是否成功的办法就是执行“bin/sqoop help”命令,如果看到如图7-6所示的显示内容,表示安装成功。

sqoop help

6 测试Sqoop与MySQL的连接

Sqoop的一个主要功能就是将数据导入或导出MySQL。无论从MySQL导出还是向MySQL导入数据,首先必须保证Sqoop与MySQL的连接。下面我们介绍使用Sqoop连接MySQL数据库的操作。

sqoop eval --connect jdbc:mysql://192.168.99.129:3306/test_db --username root --password root --query "show tables" ;

在上述命令中,“eval”表示执行后面的SQL语句。

--driver表示数据库驱动器,这里需要明确写出“com.mysql.cj.jdbc.Driver”。请读者特别注意,早期MySQL的驱动器是“com.mysql.jdbc.Driver”,现在不能再使用这个驱动器了,否则就会遇到异常。


--connect表示连接对象(也就是数据库或表)的URL,其中IP地址需要根据虚拟主机的地址填写。这里的“test_db”就是前面练习MySQL命令时创建的数据库,其中含有表myclass。这里还有两点特别值得说明的是:①URL后面有两个参数,第一个参数是设置数据库时区的“serverTimezone=UTC”,这里将其设置为世界统一时区,如果不设置时区,命令就不能执行;第二个参数是useSSL,设置为false,这说明本命令不使用SSL(Secure Sockets Layer,安全套接层),MySQL 8.0.11要求显式地设置SSL,如果设置为false,应用程序可以不需要SSL,如果设置为true,则服务器将进行可信认证,无论怎样用户都必须显式地设置SSL,如果不设置(也就是不写这个参数语句),命令就会报错,最后也不能执行。②URL中多参数的分割符,这里采用的是“&”,其中反斜杠是转义字符,这里必须加上“\”,如果写成“&”也会报错,很多系统开发和维护人员都遇到过这类问题(俗称“坑”),他们或者在网络上不断搜索别人的经验,或者自己尝试不同的转义字符,现在我们在这里给出了明确的解决方案。


--username后面是用户名,这里是“root”(Root用户)。


--password后面直接跟着用户的密码。Root用户的密码是“Hive_%CSUdjhuang168168”,这是本书的设置,读者需要根据自己虚拟机的设置来填写。


--query后面是SQL语句,用双引号引用。早期版本的MySQL可以接收“list-tables”这样的命令(本书第1版中就采用了这种用法),而MySQL 8.0.11会把这些命令视为语法错误,这也是在系统升级中的一些“小插曲”。输入命令后按下Enter键,如果执行顺利就可看到查询结果。


sqoop eval --connect jdbc:mysql://192.168.99.129:3306/test_db --username root --password root --query "select * from user" ;

注意语法,不要缺少空格或者中文字符

如果能够完成上述操作,说明Sqoop能够连接到MySQL,这就为后面的数据传输做好了准备。

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
2月前
|
分布式计算 关系型数据库 MySQL
【赵渝强老师】大数据交换引擎Sqoop
Sqoop是一款开源工具,用于在Hadoop与传统数据库如Oracle、MySQL之间传输数据。它基于MapReduce实现,支持数据导入导出、生成Java类及Hive表结构等操作,适用于大数据处理场景。
【赵渝强老师】大数据交换引擎Sqoop
|
SQL 关系型数据库 MySQL
基于Hive的天气情况大数据分析系统(通过hive进行大数据分析将分析的数据通过sqoop导入到mysql,通过Django基于mysql的数据做可视化)
基于Hive的天气情况大数据分析系统(通过hive进行大数据分析将分析的数据通过sqoop导入到mysql,通过Django基于mysql的数据做可视化)
588 0
|
分布式计算 运维 大数据
盘点下近几年退役的顶级 Apache 大数据项目 - 继 Sentry,Sqoop 之后,Ambari 正式退役!
盘点下近几年退役的顶级 Apache 大数据项目 - 继 Sentry,Sqoop 之后,Ambari 正式退役!
|
存储 分布式计算 关系型数据库
大数据组件Sqoop-安装与验证
大数据组件Sqoop-安装与验证
236 0
|
关系型数据库 MySQL 大数据
大数据Sqoop将mysql直接抽取至Hbase
大数据Sqoop将mysql直接抽取至Hbase
241 0
|
SQL 分布式计算 分布式数据库
大数据Sqoop借助Hive将Mysql数据导入至Hbase
大数据Sqoop借助Hive将Mysql数据导入至Hbase
424 0
|
SQL 分布式计算 监控
Sqoop数据迁移工具使用与优化技巧:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入解析Sqoop的使用、优化及面试策略。内容涵盖Sqoop基础,包括安装配置、命令行操作、与Hadoop生态集成和连接器配置。讨论数据迁移优化技巧,如数据切分、压缩编码、转换过滤及性能监控。此外,还涉及面试中对Sqoop与其他ETL工具的对比、实际项目挑战及未来发展趋势的讨论。通过代码示例展示了从MySQL到HDFS的数据迁移。本文旨在帮助读者在面试中展现Sqoop技术实力。
834 2
|
数据采集 SQL 分布式计算
数据处理 、大数据、数据抽取 ETL 工具 DataX 、Kettle、Sqoop
数据处理 、大数据、数据抽取 ETL 工具 DataX 、Kettle、Sqoop
2166 0
|
11月前
|
SQL 分布式计算 关系型数据库
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
281 3
|
11月前
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
278 0

热门文章

最新文章