Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出

章节内容

上一节我们已经完成了:

  • Flume 采集数据
  • Flume 3个Agent编写
  • Flume 双写:本地+HDFS

背景介绍

这里是三台公网云服务器,每台 2C4G,搭建一个Hadoop的学习环境,供我学习。

之前已经在 VM 虚拟机上搭建过一次,但是没留下笔记,这次趁着前几天薅羊毛的3台机器,赶紧尝试在公网上搭建体验一下。

  • 2C4G 编号 h121
  • 2C4G 编号 h122
  • 2C2G 编号 h123

注意事项

Apache Sqoop 于 2021 年 6 月迁入 Attic。

Apache Sqoop 的使命是创建和维护与 Apache Hadoop 和结构化数据存储相关的大规模数据传输软件。

虽然项目已经可能过时,但是如果你的时间充裕的话,可以适当地学习一下,可能会对你有一定的帮助的!!!

Sqoop介绍

Sqoop 是一款开源的工具,主要用于在 Hadoop(Hive) 与 传统数据库(MySQL等)之间进行数据的传递。可以将关系型数据库:(MySQL等)中的数据导入到HDFS中,可以将HDFS中的数据导入到传统数据库中。

Sqoop项目开始与2009年,最早是Hadoop的一个第三方模块,后来为了让使用者快速部署,Sqoop独立成为了Apache的项目。

它将导入或导出命令转换为 MapReduce 程序来实现。

Sqoop下载

下载 1.4.7 版本,这是最后一个稳定的版本了。后续项目就迁移了。

shell 复制代码
http://www.apache.org/dyn/closer.lua/sqoop/

下载解压

我选择了 h122 机器,对其进行测试。

shell 复制代码
tar zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz
mv sqoop-1.4.7.bin__hadoop-2.6.0/ ../servers/sqoop-1.4.7/

环境变量

shell 复制代码
vim /etc/profile

向其中写入如下内容

shell 复制代码
# sqoop
export SQOOP_HOME=/opt/servers/sqoop-1.4.7
export PATH=$PATH:$SQOOP_HOME/bin

退出保存,并且刷新环境变量。

修改配置

shell 复制代码
cd $SQOOP_HOME/conf

我们需要修改默认的配置

shell 复制代码
cp sqoop-env-template.sh sqoop-env.sh

vim sqoop-env.sh

写入如下的内容:

shell 复制代码
export HADOOP_COMMON_HOME=/opt/servers/hadoop-2.9.2
export HADOOP_MAPRED_HOME=/opt/servers/hadoop-2.9.2
export HIVE_HOME=/opt/servers/hive-2.3.9

修改结果如下图:

测试结果

控制台测试:

shell 复制代码
sqoop version

额外配置

JDBC配置

JDBC驱动需要拷贝到 lib 目录下,由于当前节点是我的Hive节点,之前我已经拷贝过 JDBC 驱动了,这里我从Hive的目录直接拷贝过来即可。

shell 复制代码
cp $HIVE_HOME/lib/mysql-connector-java-8.0.19.jar $SQOOP_HOME/lib

Hive配置

Hive驱动也是,如果我们需要链接到Hive,那也需要拷贝一些支持库过来。

shell 复制代码
cp $HIVE_HOME/lib/hive-*-2.3.9.jar $SQOOP_HOME/lib/

Hadoop配置

Hadoop 配置同理,这里缺一个Jar包,拷贝一下过来。(不然后续会报错!)

shell 复制代码
cp $HADOOP_HOME/share/hadoop/tools/lib/json-20170516.jar $SQOOP_HOME/lib
相关推荐
Data-Miner4 小时前
面对 AI 大模型智能涌现,如何从技术层面保护好隐私与数据安全?
大数据·人工智能
小刘在重生~4 小时前
Servlet_day2 (上)|Servlet 整合 JDBC|请求转发 forward|Request 作用域
hive·hadoop·servlet
会议咨询6 小时前
2027年电力电子、人工智能与大数据国际会议(PEABD 2027)
大数据·人工智能·电力电子
wangchunyu1146 小时前
JAVA CompletableFuture异步编程实战
java·开发语言·python
GlobalInfo6 小时前
全球包装检测用3D轮廓传感器市场调研:2026年规模预计达1.87亿美元,食品医药与电商物流需求推动增长
大数据·人工智能·3d
paopaokaka_luck6 小时前
流浪动物救助与收养系统(DeepSeek AI对话、 ECharts多维分析、救助流程衔接、领养与回访衔接、 捐赠确认与公示、志愿者协作)
java·前端·javascript·人工智能·mysql·echarts·推荐算法
Thomas.Sir6 小时前
第9课:SpringBoot4.x Web开发基础:WebMvc自动配置、静态资源、请求参数接收
java·spring boot
程序 代码狂人7 小时前
切片表与分区表的区别(数据开发面试版)
java·大数据·开发语言·数据仓库·算法
2501_944521597 小时前
Deepmerge 跨端三方库仓颉适配全流程
java·python·eclipse·github
starzy19908 小时前
Kafka响应发送:字节是怎么真正写回客户端的
大数据·kafka