二、Sqoop 详细安装部署教程

news2025/6/6 20:15:39

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

安装与初步验证完成!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2402069.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C语言预处理详解(下)】--#和##运算符,命名约定,命令行定义 ,#undef,条件编译,头文件的包含,嵌套文件包含,其他预处理指令

目录 五.#和##运算符 5.1--#运算符 5.2--##运算符 六.命名约定,#undef,命令行定义 6.1--命名约定 6.2--#undef 6.3--命名行定义 七.条件编译 常见的条件编译指令: 1.普通的条件编译: 2.多个分支的条件编译(可以利用条…

03.搭建K8S集群

K8S集群搭建的方式 目前主流的搭建k8s集群的方式有kubeadm、minikube、二进制包三种方式: kubeadm(本案例搭建方式) 是一个工具,用于快速搭建kubernetes集群,目前应该是比较方便和推荐的,简单易用 kubea…

RDMA简介3之四种子协议对比

RDMA协议共有四种子协议,分别为InfiniBand、iWARP、RoCE v1和RoCE v2协议。这四种协议使用统一的RDMA API,但在具体的网络层级实现上有所不同,如图1所示,接下来将分别介绍这四种子协议。 图1 RDMA四种子协议网络层级关系图 Infin…

【最新版】西陆洗车系统源码全开源+uniapp前端+搭建教程

一.系统介绍 一款基于ThinkPHPUniapp开发的多门店洗车系统,包含用户端(小程序)、门店员工端(小程序)、门店端(PC)、平台管理端(PC)。 门店分连锁门店和独立门店&#xf…

Linux开发工具(apt,vim,gcc)

目录 yum/apt包管理器 Linux编辑器 vim 1.见一见vim 2.vim的多模式 3.命令模式底行模式等 4.vim的配置 Linux编译器 gcc/g 1.预处理(宏替换) 2.编译(生成汇编) 3.汇编(生成机器可识别代码) 4.连…

鸿蒙Next开发真机调试签名申请流程

背景: 在学习鸿蒙next开发应用的初期总是会遇到一堆的问题,毕竟鸿蒙next开发不管是他的ArKTS语言还是他的开发工具DevEco Studio都还在起步阶段,就像当初的Android起步一样,总会有资料不足的一些问题。就比如我们学习下载完DevEco…

[yolov11改进系列]基于yolov11引入上下文锚点注意力CAA的python源码+训练源码

【CAA介绍】 本文记录的是基于CAA注意力模块的RT-DETR目标检测改进方法研究。在远程遥感图像或其他大尺度变化的图像中目标检测任务中,为准确提取其长距离上下文信息,需要解决大目标尺度变化和多样上下文信息时的不足的问题。CAA能够有效捕捉长距离依赖…

【linux】全志Tina预编译一个so库文件到根文件系统/usr/lib/下

一、sdk中新建文件夹 路径: V:\t113\work3\t113\openwrt\package\feeds\libs\md5util md5util为需要注入的库文件夹。 文件结构 libs md5util files libmd5util.so makefile etc.. 二、编写makefile include $(TOPDIR)/rules.mkPKG_NAME : md5util PKG_VERSIO…

C# 类和继承(成员访回修饰符)

成员访回修饰符 本章之前的两节阐述了类的可访问性。对类的可访问性,只有两种修饰符:internal和public。 本节阐述成员的可访问性。类的可访问性描述了类的可见性;成员的可访问性描述了类成员的可 见性。 声明在类中的每个成员对系统的不同…

Linux-文件管理及归档压缩

1.根下的目录作用说明: /:Linux系统中所有的文件都在根下/bin:(二进制命令目录)存放常用的用户命令/boot:系统启动时的引导文件(内核的引导配置文件,grub配置文件,内核配置文件) 例…

微软认证考试科目众多?该如何选择?

在云计算、人工智能、数据分析等技术快速发展的今天,微软认证(Microsoft Certification)已成为IT从业者、开发者、数据分析师提升竞争力的重要凭证。但面对众多考试科目,很多人不知道如何选择。本文将详细介绍微软认证的考试方向、…

Dify工作流实践—根据word需求文档编写测试用例到Excel中

前言 这篇文章依赖到的操作可查阅我之前的文章: dify里的大模型是怎么添加进来的:在Windows本地部署Dify详细操作 flask 框架app.route()函数的开发和调用:PythonWeb开发框架—Flask工程创建和app.route使用详解 结构化提示词的编写&…

【LC实战派】小智固件编译

这篇写给立创吴总,是节前答应他配合git代码的说明;也给所有对小智感兴趣的小伙伴。 请多提意见,让这份文档更有价值 - 第一当然是拉取源码 - git clone https://github.com/78/xiaozhi-esp32.git 完成后,先查看固件中实际的…

jdbcTemplate.query备忘录

jdbcTemplate.query中使用全部字符串和参数注入&#xff0c; 查询速度为什么差距这么大 如何正确使用JdbcTemplate参数化查询 1、使用?占位符 String sql "SELECT * FROM users WHERE name LIKE ?"; List<User> users jdbcTemplate.query(sql,new Object[…

如何搭建Z-Blog PHP版本:详细指南

Z-Blog是一款功能强大且易于使用的博客平台&#xff0c;支持PHP和ASP两种环境。本文将重点介绍如何在PHP环境下搭建Z-Blog博客系统&#xff0c;帮助您快速上线自己的个人博客站点。 准备工作 1. 获取Z-Blog PHP版本 首先&#xff0c;访问Z-Blog官方网站下载最新版本的Z-Blog…

Github Copilot新特性:Copilot Spaces-成为某个主题的专家

概述 当今的工程团队都会面临知识碎片化的问题。关键的上下文分散在代码、文档和团队成员的头脑中&#xff0c;这使得他们很难在一个新的领域快速上手并完成工作。Copilot Spaces 通过集中您的项目上下文解决了这个问题&#xff0c;因此 Copilot 可以根据您的工作提供更智能、…

攻防世界-XCTF-Web安全最佳刷题路线

每次写序都是最烦恼的&#xff0c;都不知道写什么&#xff0c;CTF是团队竞赛&#xff0c;有很多分支&#xff08;Web安全&#xff0c;密码学&#xff0c;杂项&#xff0c;Pwn&#xff0c;逆向&#xff0c;安卓&#xff09;&#xff0c;可以每个领域都涉猎&#xff0c;或许感觉那…

t021-高校物品捐赠管理系统【包含源码材料!!!!】

视频演示地址 摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装高校物品捐赠管理系统软件来发挥其高效地信息…

设计模式——面向对象设计六大原则

摘要 本文详细介绍了设计模式中的六大基本原则&#xff0c;包括单一职责原则、开放封闭原则、里氏替换原则、接口隔离原则、依赖倒置原则和合成复用原则。每个原则都通过定义、理解、示例三个部分进行阐述&#xff0c;旨在帮助开发者提高代码的可维护性和灵活性。通过具体代码…

Python制作史莱姆桌面宠物!可爱的

史莱姆桌面宠物 一个可爱的桌面史莱姆宠物&#xff0c;它会在您的任务栏上移动并提供可视化设置界面。 这里写目录标题 史莱姆桌面宠物功能特点安装与运行直接运行方式创建可执行文件 使用说明自定义GIF说明打包说明开源地址 功能特点 可爱的史莱姆在任务栏上自动移动支持…