大数据Sqoop搭建

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 大数据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,这就为后面的数据传输做好了准备。

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
5月前
|
SQL 关系型数据库 MySQL
基于Hive的天气情况大数据分析系统(通过hive进行大数据分析将分析的数据通过sqoop导入到mysql,通过Django基于mysql的数据做可视化)
基于Hive的天气情况大数据分析系统(通过hive进行大数据分析将分析的数据通过sqoop导入到mysql,通过Django基于mysql的数据做可视化)
189 0
|
分布式计算 运维 大数据
盘点下近几年退役的顶级 Apache 大数据项目 - 继 Sentry,Sqoop 之后,Ambari 正式退役!
盘点下近几年退役的顶级 Apache 大数据项目 - 继 Sentry,Sqoop 之后,Ambari 正式退役!
|
存储 分布式计算 关系型数据库
大数据组件Sqoop-安装与验证
大数据组件Sqoop-安装与验证
136 0
|
关系型数据库 MySQL 大数据
大数据Sqoop将mysql直接抽取至Hbase
大数据Sqoop将mysql直接抽取至Hbase
124 0
|
SQL 分布式计算 分布式数据库
大数据Sqoop借助Hive将Mysql数据导入至Hbase
大数据Sqoop借助Hive将Mysql数据导入至Hbase
244 0
|
分布式计算 关系型数据库 MySQL
大数据Sqoop快速入门 2
大数据Sqoop快速入门
97 0
|
6月前
|
SQL 分布式计算 监控
Sqoop数据迁移工具使用与优化技巧:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入解析Sqoop的使用、优化及面试策略。内容涵盖Sqoop基础,包括安装配置、命令行操作、与Hadoop生态集成和连接器配置。讨论数据迁移优化技巧,如数据切分、压缩编码、转换过滤及性能监控。此外,还涉及面试中对Sqoop与其他ETL工具的对比、实际项目挑战及未来发展趋势的讨论。通过代码示例展示了从MySQL到HDFS的数据迁移。本文旨在帮助读者在面试中展现Sqoop技术实力。
468 2
|
数据采集 SQL 分布式计算
数据处理 、大数据、数据抽取 ETL 工具 DataX 、Kettle、Sqoop
数据处理 、大数据、数据抽取 ETL 工具 DataX 、Kettle、Sqoop
1419 0
|
1月前
|
SQL 分布式计算 关系型数据库
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
51 3
|
1月前
|
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
84 0

热门文章

最新文章