二、Sqoop 详细安装部署教程

本文涉及的产品
实时计算 Flink 版,1000CU*H 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时数仓Hologres,5000CU*H 100GB 3个月
简介: 在大数据开发实战中,Sqoop 是数据库与 Hadoop 生态之间不可或缺的数据传输工具。这篇文章将以 Sqoop 1.4.7 为例,结合官方站点截图,详细讲解 Sqoop 的下载路径、安装步骤、环境配置,以及常见 JDBC 驱动的准备过程,帮你一步步搭建出能正常运行的 Sqoop 环境,并通过 list-databases 命令验证安装是否成功。如果你正打算学习 Sqoop,或者在搭建大数据平台过程中遇到安装配置问题,本文将是非常实用的参考指南。

Apache Sqoop 是一个强大的工具,用于在 Hadoop (HDFS, Hive, HBase) 与关系型数据库 (如 MySQL, PostgreSQL, Oracle) 之间高效传输数据。本教程将详细指导您如何根据官方网站截图下载并安装配置 Sqoop 1.4.7 版本。

一、环境与软件准备
  1. Hadoop 环境

    • 确保您有一个稳定运行的 Hadoop 集群。Sqoop 的运行高度依赖Hadoop。
    • 记录您的 Hadoop 安装目录 (通常是 $HADOOP_HOME),Sqoop 配置时需要引用
  2. Java 环境 (JDK)

    • Sqoop 基于 Java 开发。请确保已安装 JDK (推荐 JDK 8)。
    • 验证Java安装:
      java -version
      
二、下载 Sqoop 1.4.7
  1. 访问 Sqoop 官方网站并找到下载部分
    • 在您的浏览器中,打开 Apache Sqoop 官方网站sqoop.apache.org
    • 找到标题为 "Download" 的区域。
  1. 点击下载链接进入镜像选择页面
    • 在第一张截图中,"Download" 区域下,您会看到 "Latest stable release is 1.4.7 (download icon, documentation icon)".
    • 点击此处的蓝色的 "(download)" 链接 (即下载图标对应的链接)。
    • 这会将你引导至一个下载镜像页面。页面顶部通常会有一个建议的下载链接

image.png

  1. 导航至具体版本文件
    • 点击 https://dlcdn.apache.org/sqoop/1.4.7 链接,进入到一个目录列表,从中找到并选择我们需要的二进制包

image.png

  1. 通过 Apache Attic 查找归档版本(根据截图指示的最终路径)
    • 访问 Apache Attic 中 Sqoop 的下载归档区。您可以通过查找 Sqoop 项目在 Attic 中的页面,然后找到 "Downloads" 链接。

image.png

  • 点击此 "archive.apache.org/dist/sqoop/" 链接。
  1. 选择 Sqoop 1.4.7 版本目录
    • 您将进入 Apache Archive Distribution Directory,这里列出了 Sqoop 的所有历史版本
    • 找到并点击名为 "1.4.7/" 的目录链接。

image.png

  1. 下载指定的二进制包
    • 进入 "1.4.7/" 目录后,您会看到该版本下的所有相关文件
    • 找到并点击下载 sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz 这个文件。这是 Sqoop 1.4.7 针对 Hadoop 2.6.0 (及相近版本) 编译的二进制发行版

image.png

  • 将下载好的 sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz 文件上传到您计划安装 Sqoop 的服务器 (例如 hadoop01) 的 /export/softwares 目录下。
三、安装 Sqoop
  1. 解压 Sqoop 安装包
    • 在您选择的服务器上 (例如 hadoop01),解压 Sqoop 压缩包到目标安装目录,例如 /export/server
cd /export/softwares
tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /export/server/
cd /export/server
mv sqoop-1.4.7.bin__hadoop-2.6.0 sqoop
  1. 配置 Sqoop 环境变量
    • 为了方便任何路径下执行 Sqoop 命令,编辑 /etc/profile 文件。
echo 'export SQOOP_HOME=/export/server/sqoop' >> /etc/profile
echo 'export PATH=$PATH:$SQOOP_HOME/bin' >> /etc/profile
source /etc/profile
四、配置 Sqoop
  1. 配置 sqoop-env.sh
    • Sqoop 的关键环境配置文件$SQOOP_HOME/conf/sqoop-env.sh
      cd $SQOOP_HOME/conf
      cp sqoop-env-template.sh sqoop-env.sh
      
    • 使用文本编辑器 (如 vi) 打开 sqoop-env.sh取消注释并修改以下关键行,确保路径与您的 Hadoop 安装一致
vim sqoop-env.sh
export HADOOP_COMMON_HOME= /export/server/hadoop
export HADOOP_MAPRED_HOME= /export/server/hadoop
export HIVE_HOME= /export/server/hive
  • 非常重要$HADOOP_COMMON_HOME$HADOOP_MAPRED_HOME (在Hadoop 2.x/3.x中通常是同一个Hadoop安装目录) 必须正确设置,Sqoop 依赖它们来找到 Hadoop 的核心库
  1. 添加 MySQL JDBC 驱动
    • Sqoop 需要对应数据库的 JDBC 驱动才能进行连接。以 MySQL 为例,我们将使用 mysql-connector-java-5.1.32.jar
    • 如果您还没有这个jar包,请先下载它。然后将其复制到 Sqoop 的 lib 目录下:
      wget -P /tmp/ https://repo1.maven.org/maven2/commons-lang/commons-lang/2.6/commons-lang-2.6.jar
      cp /tmp/commons-lang-2.6.jar /export/server/sqoop/lib/
      wget -P /tmp/ https://repo1.maven.org/maven2/com/mysql/mysql-connector-j/8.0.32/mysql-connector-j-8.0.32.jar
      cp /tmp/mysql-connector-j-8.0.32.jar /export/server/sqoop/lib/
      
    • 如果您需要连接其他类型的数据库 (如 Oracle, PostgreSQL),则需要下载并添加它们各自的 JDBC 驱动$SQOOP_HOME/lib/ 目录。
五、验证 Sqoop 安装与数据库连接

完成上述配置后,可以通过执行 sqoop list-databases 命令来验证Sqoop安装以及与目标数据库的连接是否正常

假设您的MySQL服务运行在 localhost (即Sqoop安装的同一台服务器),端口为 3306,用户名为 root,密码为 123456

执行以下命令

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

image.png

  • 命令解释

    • sqoop list-databases: 调用Sqoop的 list-databases 工具。如果在 $SQOOP_HOME/bin 目录下执行,可以省略 bin/。如果已配置好PATH环境变量,可以在任何目录下直接使用 sqoop list-databases
    • --connect jdbc:mysql://localhost:3306/: 指定JDBC连接字符串。这里连接到本地MySQL服务默认端口
    • --username root: 指定数据库用户名
    • --password 123456: 指定数据库密码注意:在生产环境中,不建议直接在命令行中写入密码。Sqoop提供了更安全的方式,如密码文件或提示输入。
  • 预期结果
    如果Sqoop安装正确JDBC驱动配置无误,并且MySQL服务可访问凭据正确,该命令会列出您MySQL服务器上所有的数据库名称
    如果出现错误,请仔细检查错误信息,通常与Hadoop环境变量配置JDBC驱动缺失或版本不兼容数据库连接参数错误网络/权限问题有关。

六、后续步骤
  • 学习使用验证成功后,您可以开始学习 Sqoop 的核心命令,如 import (从数据库导入到HDFS/Hive) 和 export (从HDFS导出到数据库)。
  • 安全性研究并使用Sqoop提供的更安全的密码管理方式,例如 --password-file 选项或交互式密码提示

安装与初步验证完成!
目录
相关文章
|
24天前
|
XML 前端开发 C#
C#编程实践:解析HTML文档并执行元素匹配
通过上述步骤,可以在C#中有效地解析HTML文档并执行元素匹配。HtmlAgilityPack提供了一个强大而灵活的工具集,可以处理各种HTML解析任务。
109 19
|
21天前
|
Cloud Native API 开发者
Gemini 2.5 Flash 技术拆解:从 MoE 架构到阿里云生态落地指南
2025年9月,谷歌Gemini 2.5 Flash发布,性能提升5%、成本降24%,引发行业关注。其MoE架构、百万上下文与“思考”范式,助力阿里云开发者高效构建云原生应用。本文解析技术内核,结合汽车、物流等案例,提供落地指南与避坑建议,展望大模型与流计算融合前景。
209 6
|
4天前
|
Java API Apache
【Spring Boot实战】EasyPoi神技:一篇搞定“一对多+图片”导入!
本文分享使用Spring Boot + EasyPoi实现复杂Excel导入(含图片和一对多数据)的实战经验。涵盖环境配置、实体注解、一对多处理、图片上传及大文件监听器优化,解决内存溢出问题。附替代官方文档链接,助力高效开发。
|
20天前
|
缓存 前端开发 NoSQL
《CRM性能突围:从4秒卡顿到毫秒级响 应的全链路实战拆解》
本文记录了企业级CRM系统从4秒卡顿到毫秒级响应的全链路性能优化实战。系统因业务扩张(200人销售团队、300万条客户数据)出现查询超时、数据库高负载等问题,团队跳出“通用方案”陷阱,分阶段突破:数据层通过精准索引、“年+季度”分表、预计算宽表优化,将SQL耗时从3.5秒压至200毫秒;缓存层搭建“本地缓存(Caffeine)+分布式缓存(Redis)”架构,结合热点隔离与Binlog监听保证一致性,缓存命中率提升至91%;应用层通过异步解耦(消息队列)、资源隔离(微服务拆分)、前端配合优化,解决阻塞与资源争抢。最终通过全链路监控与定期迭代,构建长效优化机制。
151 9
|
17天前
|
XML 安全 API
VMware Aria Operations 8.18.5 发布,新增功能概览
VMware Aria Operations 8.18.5 发布,新增功能概览
168 46
VMware Aria Operations 8.18.5 发布,新增功能概览
|
16天前
|
机器学习/深度学习 搜索推荐 算法
NumPy广播:12个技巧替代循环,让数组计算快40倍
摆脱Python数据处理中的低效for循环!掌握NumPy广播机制,实现向量化计算,让代码更简洁、运行更快。从数据标准化到距离矩阵、独热编码,12个实战案例教你用形状思维替代循环思维,显著降低CPU负载,提升程序性能。
98 12
NumPy广播:12个技巧替代循环,让数组计算快40倍
|
11天前
|
人工智能 搜索推荐 UED
一个牛逼的国产AI自动化工具,开源了 !
AiPy是国产开源AI工具,结合大语言模型与Python,支持本地部署。用户只需用自然语言描述需求,即可自动生成并执行代码,轻松实现数据分析、清洗、可视化等任务,零基础也能玩转编程,被誉为程序员的智能助手。
|
17天前
|
缓存 监控 新制造
《API网关在智能制造MES联动中的实战应用》
本文聚焦智能制造场景下设备与制造执行系统(MES)的API网关改造实践,针对车间设备(数控机床、传感器等)工业协议(Modbus、OPC UA)与MES标准化接口的协同痛点展开。作者摒弃通用网关架构,采用“设备接入层+指令转发层”设计,接入层部署车间本地,负责协议解析、抗干扰数据清洗与本地缓存;转发层对接MES,实现数据格式转换与指令反向适配,通过双链路保障传输稳定。创新“生产场景动态优先级调度”应对脉冲式流量,以“本地缓存+断点续传+指令确认”解决数据断层与指令丢失,构建“生产标签联动”监控体系实现故障快速溯源。