当前位置: 首页 > news >正文

二、Sqoop 详细安装部署教程

作者:IvanCodes
日期:2025年6月2日
专栏: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” 的区域。
  2. 点击下载链接进入镜像选择页面

    • 在第一张截图中,“Download” 区域下,您会看到 “Latest stable release is 1.4.7 (download icon, documentation icon)”.
    • 点击此处的蓝色的 “(download)” 链接 (即下载图标对应的链接)。
    • 这会将您引导至一个下载镜像页面。页面顶部通常会有一个建议的下载链接

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

  • 将下载好的 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

在这里插入图片描述

  • 命令解释

    • 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 选项或交互式密码提示

安装与初步验证完成!

相关文章:

  • windows11安装编译QtMvvm
  • RAG的ETL Pipeline源码解读
  • Qt OpenGL 光照实现
  • 线性代数复习
  • 大数据-275 Spark MLib - 基础介绍 机器学习算法 集成学习 随机森铃 Bagging Boosting
  • day 43
  • Linux(10)——第二个小程序(自制shell)
  • 力扣题解654:最大二叉树
  • java笔记08
  • ubuntu22.04安装megaton
  • 使用FastAPI构建车牌检测识别服务
  • 第一篇:揭示模型上下文协议(MCP):AI的通用连接器
  • 使用TDEngine REST API + Python来计算电力指标的ETL真实案例
  • 设计模式——备忘录设计模式(行为型)
  • Linux中的System V通信标准-共享内存、消息队列以及信号量
  • react与vue的渲染原理
  • 【C++】类的构造函数
  • 自定义序列生成器之单体架构实现
  • window 显示驱动开发-驱动程序处理的Multiple-Processor优化
  • 使用 So-VITS-SVC 实现明星声音克隆与视频音轨替换实战全流程
  • 网站建站报价/电商运营公司简介
  • 做阿里云网站的公司吗/今日头条官方正版
  • 怎么做一淘宝客网站/成都新站软件快速排名
  • 做网站软件大全/青岛谷歌优化
  • 深圳百度网站推广/网站收录大全
  • 武汉做网站云优化科技/我想创建一个网络平台