二、Sqoop 详细安装部署教程

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时计算 Flink 版,1000CU*H 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 选项或交互式密码提示

安装与初步验证完成!
目录
相关文章
|
4月前
|
数据采集 存储 大数据
大数据之路:阿里巴巴大数据实践——日志采集与数据同步
本资料全面介绍大数据处理技术架构,涵盖数据采集、同步、计算与服务全流程。内容包括Web/App端日志采集方案、数据同步工具DataX与TimeTunnel、离线与实时数仓架构、OneData方法论及元数据管理等核心内容,适用于构建企业级数据平台体系。
|
缓存 Linux
Centos7中搭建本地yum源
Centos7中搭建本地yum源
642 0
|
4月前
|
人工智能 安全 API
MCP协议的具体技术实现原理
MCP(Model Context Protocol)是由Anthropic提出的开放协议,旨在标准化大语言模型(LLM)与外部工具、数据源的交互方式。通过客户端-服务器架构与JSON-RPC通信,实现工具的动态发现、安全调用与灵活扩展,提升LLM的实用性与集成效率。
|
2月前
|
分布式计算 关系型数据库 Hadoop
一、Sqoop历史发展及原理
在大数据系统中,Sqoop 就像是一位干练的“数据搬运工”,帮助我们把 MySQL、Oracle 等数据库里的数据快速、安全地导入到 Hadoop、Hive 或 HDFS 中,反之亦然。这个专栏从基础原理讲起,配合实战案例、参数详解和踩坑提醒,让你逐步掌握 Sqoop 的使用技巧。不管你是初学者,还是正在构建数据管道的工程师,都能在这里找到实用的经验和灵感。
126 6
|
2月前
|
Linux Shell 数据处理
十三、Linux Shell脚本:文本处理三剑客之 sed 与 awk
如果说grep是文本处理的“探照灯”,那sed和awk就是“手术刀”和“瑞士军刀”。sed 擅长按行“动手术”,可以轻松地删除、打印或替换特定行的内容,尤其是它的替换功能(s/.../.../)非常强大。而 awk 更厉害,它天生就能看懂按列(字段)分布的数据,像个小型的Excel。你可以让它只打印某几列,或者根据某一列的值做计算和判断,特别适合生成统计报告。
375 1
|
5月前
|
机器学习/深度学习 人工智能 前端开发
AI+Code驱动的M站首页重构实践:从技术债务到智能化开发
本文分享了阿里巴巴找品M站首页重构项目中AI+Code提效的实践经验。面对M站技术栈陈旧、开发效率低下的挑战,我们通过楼层动态化架构重构和AI智能脚手架,实现了70%首页场景的标准化覆盖 + 30%的非标场景的研发提速,开发效率分别提升90%+与40%+。文章详细介绍了楼层模板沉淀、AI辅助代码生成、智能组件复用评估等核心实践,为团队AI工程能力升级提供了可复制的方法论。
379 15
AI+Code驱动的M站首页重构实践:从技术债务到智能化开发
|
SQL 分布式计算 关系型数据库
Sqoop入门(一篇就够了)
Sqoop入门(一篇就够了)
8276 3
Sqoop入门(一篇就够了)
|
4月前
|
运维 监控 安全
一文讲清质量管理5M1E分析法的底层逻辑
本文介绍了质量管理中的5M1E分析法,即从人、机、料、法、环、测六个方面系统分析质量波动原因,并提供具体管理方法与实操要点。通过整体联动与闭环管控,帮助企业实现质量管理的系统化与高效化,提升产品质量与稳定性。