Sqoop 安装与测试
Sqoop 安装与测试 Demo(MySQL → HDFS)
本文通过一个完整 Demo,演示 Sqoop 的安装、配置以及从 MySQL 导入数据到 HDFS 的全过程。
一、实验环境说明
| 组件 | 版本 |
|---|---|
| OS | Linux / 虚拟机 |
| Hadoop | 3.x |
| MySQL | 8.x |
| Sqoop | 1.4.7 |
| Java | JDK 8 |
二、安装 Sqoop
下载并解压
tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz
mv sqoop-1.4.7.bin__hadoop-2.6.0 /opt/sqoop
配置环境变量
编辑 ~/.bashrc:
export SQOOP_HOME=/opt/sqoop
export PATH=$PATH:$SQOOP_HOME/bin
刷新:
source ~/.bashrc
三、配置 MySQL 驱动(非常关键)
Sqoop 不自带 MySQL 驱动,需要手动添加。
cp mysql-connector-j-8.0.xx.jar $SQOOP_HOME/lib/
驱动版本需与 MySQL 版本兼容。
四、验证 Sqoop 是否安装成功
sqoop version
正常输出:
Sqoop 1.4.7
五、准备 MySQL 测试数据
创建数据库与表
CREATE DATABASE testdb;
USE testdb;
CREATE TABLE user (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT
);
INSERT INTO user VALUES
(1,'Alice',20),
(2,'Bob',22),
(3,'Tom',25);
六、Sqoop 连接 MySQL 测试
sqoop list-databases \
--connect jdbc:mysql://localhost:3306/?useSSL=false&serverTimezone=UTC \
--username root \
--password 123456
如果能看到数据库列表,说明连接成功。
七、Demo:MySQL → HDFS 数据导入
sqoop import \
--connect jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=UTC \
--username root \
--password 123456 \
--table user \
--target-dir /sqoop/user \
--fields-terminated-by ',' \
--num-mappers 1
参数说明:
--table:导入表名--target-dir:HDFS 目录--num-mappers:Map 数量(测试用 1)
八、查看 HDFS 中的数据
hdfs dfs -ls /sqoop/user
hdfs dfs -cat /sqoop/user/part-m-00000
输出:
1,Alice,20
2,Bob,22
3,Tom,25
九、常见问题与解决
MySQL 8.x 连接报错
- 添加
serverTimezone=UTC - 使用新版 MySQL Connector
HDFS 目录已存在
--delete-target-dir
十、小结
本文通过一个完整 Demo 演示了 Sqoop 的安装、配置与使用流程,实现了从 MySQL 到 HDFS 的数据导入。通过实践可以发现,Sqoop 在离线数据采集中具有高效、稳定的优势,是大数据学习与工程实践中的重要工具。

浙公网安备 33010602011771号