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

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

安装与初步验证完成!

相关文章:

二、Sqoop 详细安装部署教程

作者:IvanCodes 日期:2025年6月2日 专栏:Sqoop教程 Apache Sqoop 是一个强大的工具,用于在 Hadoop (HDFS, Hive, HBase) 与关系型数据库 (如 MySQL, PostgreSQL, Oracle) 之间高效传输数据。本教程将详细指导您如何根据官方网站截…...

用Python开启游戏开发之旅

在当今丰富多彩的数字娱乐世界中,游戏以其独特的魅力吸引着无数人的目光。而Python这门功能强大又简洁易懂的编程语言,也为游戏开发打开了一扇充满创意的大门。 一、选择Python的理由 Python之所以备受游戏开发者青睐,有诸多原因。其一&#…...

React 第五十四节 Router中useRevalidator的使用详解及案例分析

前言 useRevalidator 是 React Router v6.4 引入的一个强大钩子,用于在数据路由(Data Router)中手动触发路由数据的重新验证(revalidation)。 它在需要主动刷新数据而不改变路由位置的场景中非常有用。 一、useReval…...

【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…...

力扣LeetBook数组和字符串--二维数组

1.旋转矩阵 题目链接 想了那么久的各种旋转,对角线,其实把问题搞复杂了。 旋转90度的本质无非就是转置镜像对称 转置是什么?:将矩阵的行和列互换。 镜像对称:把矩阵从中间对折,互换位置 矩阵 A A [ 1 3 0…...

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

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

C# ExcelWorksheet 贴图

C# ExcelWorksheet 贴图 在C#中,如果你想在Excel工作表中插入图片(例如,在ExcelWorksheet中贴图),你可以使用ClosedXML或EPPlus这样的库来操作Excel文件。下面我将分别介绍如何使用这两个库来实现这一功能。 使用ClosedXML 首先,确保你已经安装了ClosedXML包。你可以通…...

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

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

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

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

【Elasticsearch】 查询优化方式

在优化Elasticsearch的查询性能时,可以从多个维度着手,包括索引设计、查询优化、集群配置、数据管理以及监控分析等。常见的优化方式和策略有以下几种: 一、索引优化 合理设计字段类型: 字段类型选择: 对于不需要分词的…...

Xcode 16.4 + iOS 18 系统运行时崩溃:___cxa_current_primary_exception 符号丢失的原因与解决方案

在使用 Xcode 16.4 构建项目,运行到 iOS 18.3 或更早版本系统(包括模拟器)时,出现了如下的运行时崩溃: dyld[22183]: Symbol not found: ___cxa_current_primary_exceptionReferenced from: /.../WidgetOn.app/Widget…...

【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。 本节阐述成员的可访问性。类的可访问性描述了类的可见性;成员的可访问性描述了类成员的可 见性。 声明在类中的每个成员对系统的不同…...

c++ stl容器之map用法

目录 (1)map介绍 (2)map、multimap、unordered_map区别 (3)map用法 1.map接口表 2.使用举例 插入数据与遍历数据 查找关键字和值 删除元素 按照值排序 (4)multimap用法 &…...

Linux-文件管理及归档压缩

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

结合Jenkins、Docker和Kubernetes等主流工具,部署Spring Boot自动化实战指南

基于最佳实践的Spring Boot自动化部署实战指南,结合Jenkins、Docker和Kubernetes等主流工具,提供从环境搭建到生产部署的完整流程: 一、环境准备与工具选型​​ ​​1.基础设施​​ ​​Jenkins服务器​​:安装Jenkins LTS版本,配置JDK(推荐JDK 11+)及Maven/Gradle插…...

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

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

MCP协议在LLM系统中的架构与实现原理研究

MCP协议的角色和功能定位 模型上下文协议(Model Context Protocol, MCP) 是由Anthropic公司(Claude模型的发布方)提出的一种开放协议,旨在标准化大型语言模型(LLM)与外部数据源、工具和服务之间的交互方式。可以将MCP类比为AI应用的“USB-C接口”:通过统一的接口协议,…...

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

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

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

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

HTTP(超文本传输协议)详解

目录 一、基本概念 二、HTTP报文(结构) (一) 请求报文 (二) 响应报文 三、HTTP请求方法 1. GET方法 2. POST方法 3. PUT方法 4. HEAD方法 5. DELETE 6. OPTIONS 一、知识扩展 7. TRACE 8. CONNECT 四、HTTP持久通信 (一) HTTP keep-alive…...

Unity安卓平台开发,启动app并传参

using UnityEngine; using System;public class IntentReceiver : MonoBehaviour {public bool isVR1;void Start(){Debug.LogError("app1111111111111111111111111");if (isVR1){LaunchAnotherApp("com.HappyMaster.DaKongJianVR2");}else{// 检查是否有传…...

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…...

Docker 常用命令详解

&#x1f433; Linux 安装 Docker 及常用命令详解&#xff08;适用于 Ubuntu&#xff09; &#x1f4e6; 一、安装 Docker&#xff08;Ubuntu 系统&#xff09; 1. 更新系统 sudo apt update sudo apt upgrade -y2. 安装必要依赖 sudo apt install -y apt-transport-https …...

uniapp uni-id-co errCode“:“uni-id-captcha-required“,“errMsg“:“Captcha required

连续登录失败后就会出现图形验证码校验&#xff0c;如果前端不需要图形验证码校验&#xff0c;uni-id-co文件夹下找到module下的login文件夹下的login.js,注释掉Captcha相关校验&#xff0c;关掉即可 const {preLoginWithPassword,postLogin } require(../../lib/utils/login)…...

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

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