四十、centos安装sqoop(使用Sqoop完成MySQL和HDFS之间的数据互导)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 四十、centos安装sqoop(使用Sqoop完成MySQL和HDFS之间的数据互导)

环境准备:


centos 7


centos 可以上网


hadoop,Hbase,Hive,Zookeeper正常运行


环境搭建:


版本:


sqoop1.4.7-hadoop2.6.0


一、Sqoop安装

   

1、直接在虚拟机浏览器下载sqoop1.4.7


https://archive.apache.org/dist/sqoop/1.4.7/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz

https://archive.apache.org/dist/sqoop/1.4.7/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz

46.png

47.png



       2、解压安装包


48.png


       3、重命名为Sqoop


mv sqoop-1.4.7.bin__hadoop-2.6.0 sqoop

49.png


       4、配置sqoop-env.sh


               (1)复制配置文件并重命名为sqoop-env.sh


cat sqoop-env-template.sh >> sqoop-env.sh

50.png

                 (2)修改配置文件


       编辑sqoop-env.sh文件,分别将Hadoop、HBase、Hive、ZooKeeper的安装目录添加到文件中。


51.png

52.png


       5、配置环境变量


vim /etc/profile

53.png


       使环境变量立即生效:


source /etc/profile

       6、配置MySQL连接


               (1)添加MySQL的JAR包到Sqoop安装目录中。


54.png


                (2)测试Sqoop与MySQL之间的连接


                        A、启动MySQL服务:


55.png


                        B、测试Sqoop与MySQL之间的连接是否成功:


sqoop list-databases --connect jdbc:mysql://localhost:3306 --username root -password dang

56.png


        注:如果可以看到MySQL数据库中的数据库列表,则表示Sqoop安装成功


centos安装Sqoop完成


Sqoop的使用:


二、使用Sqoop完成MySQL和HDFS之间的数据互导

     

1、上传准备好的测试数据到MySQL中


               (1)登录MySQL:


57.png


              (2)创建测试数据库


58.png


               (3)创建表test1,用于存放本地测试数据


create table test1(
     ip varchar(100) not null,
     time varchar(100) not null,
     url varchar(100) not null);

59.png


               (4)新建测试数据文件


60.png


               写入:


61.png


        注意:此 txt 文件字段之间需要用Tab键隔开,空格是不可行的,遇到datatime日期的,年月日,时分秒之间需用空格隔开,不需要添加引号


                (5)将本地的测试数据上传到test1表中


load data local infile "/opt/linshi/test.txt" into table test1(ip,time,url);


62.png

           


               (6)上传完成后,查看test1表中的数据:  


select * from test1;

select * from test1;


63.png

       2、上传数据到HDFS中


       (1)启动hadoop集群                


64.png


       (2)将test1中的数据上传到HDFS中:


./sqoop import --connect jdbc:mysql://localhost:3306/test --username root --password dang --table test1 -m 1

       (3)查看导入的数据


hdfs dfs -cat /user/root/test1/part-m-00000

65.png


       (4)登录HDFS网页查看


       HDFS的web端:localhost:50070


66.png



        (5)将HDFS数据导入MySQL中


       注:在导出前需要先创建导出表的结构,如果导出的表在数据表中不存在,则系统会报错;若重复导出数据,则表中的数据会重复


                A、 在test数据库中创建表test2,可以直接复制表test1的结构:


create table test2 as select * from test1 where 1=2;

67.png


               B、查看表test1,表test2:


68.png


               C、使用sqoop将HDFS中的数据导入MySQL的test2中:


sqoop export --connect jdbc:mysql://192.168.231.105:3306/test --username root --password dang --table test2 --export-dir /user/root/test1/part-m-00000 -m 1

69.png


        注:localhost最好写成本机地址,之前写的localhost报错了


       (6)再次查看test2表:


70.png



       HDFS的数据成功导入test2


一条华丽的分割线


centos安装sqoop(使用Sqoop完成MySQL和HDFS之间的数据互导)案例完成


其他环境搭建参见:


Hadoop伪分布式的搭建详情

https://blog.csdn.net/m0_54925305/article/details/118650350?spm=1001.2014.3001.5502


Hadoop完全分布式的搭建详情

https://blog.csdn.net/m0_54925305/article/details/118851554?spm=1001.2014.3001.5502


Zookeeper集群的搭建(单机、伪分布式、集群)

https://blog.csdn.net/m0_54925305/article/details/119059186?spm=1001.2014.3001.5502


Spark的安装与部署详情(Local模式,Standalone模式,Spank on YARN模式)

https://blog.csdn.net/m0_54925305/article/details/119005751?spm=1001.2014.3001.5502


HadoopHA环境搭建(保姆篇,手把手搭建)

https://blog.csdn.net/m0_54925305/article/details/119838463?spm=1001.2014.3001.5502


hbase集群的搭建(HBase Shell)

https://blog.csdn.net/m0_54925305/article/details/120787788?spm=1001.2014.3001.5502


Centos安装mysql(rpm终结版)

https://blog.csdn.net/m0_54925305/article/details/120476116?spm=1001.2014.3001.5502


centos安装hive3.1.2(精讲篇)

https://blog.csdn.net/m0_54925305/article/details/120554242?spm=1001.2014.3001.5502


Centos安装yum,wegt(完全配置篇)

https://blog.csdn.net/m0_54925305/article/details/120467143?spm=1001.2014.3001.5502


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2天前
|
消息中间件 Linux API
centos7 安装rabbitmq自定义版本及配置
centos7 安装rabbitmq自定义版本及配置
|
8天前
|
关系型数据库 MySQL 数据库
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
|
1天前
|
弹性计算 关系型数据库 MySQL
centos7 mysql安装及配置
本文详细介绍了在阿里云服务器ECS上通过yum源安装MySQL 8.0.12的过程,包括更新yum源、下载并安装MySQL源、解决安装过程中可能遇到的问题等步骤。此外,还介绍了如何启动MySQL服务、设置开机自启、配置登录密码、添加远程登录用户以及处理远程连接异常等问题。适合初学者参考,帮助快速搭建MySQL环境。
15 8
centos7 mysql安装及配置
|
2天前
|
SQL 存储 缓存
MySQL是如何保证数据不丢失的?
文章详细阐述了InnoDB存储引擎中Buffer Pool与DML操作的关系。在执行插入、更新或删除操作时,InnoDB为了减少磁盘I/O,会在Buffer Pool中缓存数据页进行操作,随后将更新后的“脏页”刷新至磁盘。为防止服务宕机导致数据丢失,InnoDB采用了日志先行(WAL)机制,通过将DML操作记录为Redo Log并异步刷新到磁盘,结合双写机制和合理的日志刷新策略,确保数据的持久性和一致性。尽管如此,仍需合理配置参数以平衡性能与数据安全性。
MySQL是如何保证数据不丢失的?
|
2天前
|
分布式计算 资源调度 Hadoop
centos7二进制安装Hadoop3
centos7二进制安装Hadoop3
|
7天前
|
Linux 开发工具 git
CentOS安装git客户端
【8月更文挑战第22天】在 CentOS 上安装 Git 可通过两种方式:一是利用 yum 包管理器,只需在终端依次执行 `sudo yum update` 和 `sudo yum install git` 命令,安装时按提示输入 y 即可;二是从源码安装,适用于有特殊需求的场景。首先安装必要的依赖库,然后下载并解压 Git 的源码包,最后通过一系列 make 命令完成配置与编译安装。无论哪种方式,安装完毕后均可通过 `git --version` 验证安装情况。
|
5天前
|
缓存 运维 Linux
深入解析:一步步掌握 CentOS 7 安装全流程及运维实战技巧
深入解析:一步步掌握 CentOS 7 安装全流程及运维实战技巧
|
5天前
|
Linux
centos安装与卸载软件
centos安装与卸载软件
14 1
|
3天前
|
Linux Python
Centos7安装Python虚拟环境之virtualenv
Centos7安装Python虚拟环境之virtualenv
|
3天前
|
存储 缓存 Linux
LDAP学习笔记之一:Centos7安装389-DS(RHDS)
LDAP学习笔记之一:Centos7安装389-DS(RHDS)
下一篇
云函数