Sqoop 安装

Sqoop 主要用于关系型数据库和 Hadoop 生态之间的数据导入导出。它不像 HDFS、YARN 那样有常驻服务进程,本篇安装的核心动作是把 SQOOP Client 分发到目标主机,并下发 sqoop-envsqoop-site 等客户端配置。

我会把 Sqoop 放在 Hive 后面安装。原因很简单:真实使用 Sqoop 时,经常会把数据导入 HDFS 或 Hive 表;先确认 HDFS、YARN、Tez、Hive 都可用,后面做导入导出验证时会少很多干扰。

本次角色分配如下:

主机 Sqoop 角色
hadoop1.test.com SQOOP Client
hadoop2.test.com SQOOP Client
hadoop3.test.com SQOOP Client

::: tip
Sqoop 是客户端型组件,安装完成后服务状态显示 已安装 是正常的。不要强行去找“运行中”的 Sqoop 进程。
:::

1. 选择 Sqoop 服务

进入 服务与组件,点击 新增服务,勾选 Sqoop

选择 Sqoop 服务

页面会提示依赖的 HDFS 已满足。这里我建议只勾选 Sqoop,不要把后面的 HBase、Kafka、Spark 一起打包安装,这样每个组件出问题时更容易定位。

2. 确认没有 Master 组件

Master 分配页会提示所选服务没有 Master 组件。

Sqoop 无 Master 组件

这一步直接下一步即可。Sqoop 不需要 NameNode、ResourceManager、HiveServer2 这类常驻管理角色。

3. 分配 Sqoop Client

Slave 与 Client 分配页里,Sqoop 没有 Slave,只需要分配 Client。

分配 Sqoop Client

本次三台主机都安装 SQOOP Client:

组件 分配主机
SQOOP hadoop1.test.comhadoop2.test.comhadoop3.test.com

如果集群里只有固定的边缘节点会执行导入导出,也可以只把 Sqoop Client 放在边缘节点上。教程环境为了后面演示方便,三台都装。

4. 查看 Sqoop 配置

进入自定义配置页后,页面显示 待填写 0

Sqoop 推荐配置

默认配置可以先保留。这里真正要关心的是两类路径:

配置方向 说明
Hadoop / Hive 环境 Sqoop 会读取 Hadoop、Hive 相关目录,用于导入到 HDFS 或 Hive。
JDBC 驱动 前面已经准备过 MySQL / MariaDB JDBC 驱动,后面连接业务库时会用到。

如果生产环境要连接 Oracle、PostgreSQL、SQL Server 等数据库,需要提前把对应 JDBC Driver 放到 Ambari Server 可分发的位置,并在 Sqoop 配置里补上驱动项。

5. 确认安装清单

确认页里会看到 Sqoop 只有 Client 分配。

Sqoop 安装确认页

我会重点确认这几项:

检查项 本次结果
新增服务 SQOOP
Master 分配
Slave 分配
Client 分配 三台主机都安装 SQOOP
配置校验 必填项已填写

确认无误后点击 开始安装。如果集群已经开启 Kerberos,向导会要求提交 KDC 管理员凭据,本次继续使用 admin/admin@TEST.COM 和对应管理员密码。

6. 等待 Sqoop 安装完成

Sqoop 安装阶段会在三台主机上安装客户端包、生成配置并分发 Kerberos 相关凭据。它没有服务启动步骤,所以安装任务完成后会进入 已安装 状态。

安装过程中我主要看:

检查项 期望结果
SQOOP Client 三台主机安装完成
失败任务 0
服务状态 已安装

如果安装任务提示找不到 JDBC 驱动,先回到前面的 MySQL 驱动与本地仓库准备步骤,确认 /usr/share/java/mysql-connector-java.jar 存在。

7. 回到服务列表确认状态

安装完成后回到 服务与组件 页面,Sqoop 会出现在 查询数据 分类下。

Sqoop 服务卡片

可以看到 Sqoop 只有一个 Client 组件,并且三台主机都已经分发完成。

进入 Sqoop 服务详情页,状态显示 已安装

Sqoop 服务已安装

如果想在命令行做一个轻量确认,可以在安装了 Sqoop Client 的节点上执行:

sqoop version

正常会看到类似结果:

Sqoop 1.4.7

如果此时还没有安装 HBase,命令输出里可能会提示 HBASE_HOME 不存在。这个提示只表示 HBase 相关导入能力暂时不可用,不影响 Sqoop Client 本身。等下一篇 HBase 安装完成后,再回头使用 HBase 相关导入能力即可。

到这里,Sqoop 的基础安装完成。下一步继续安装 HBase,补齐后续 HBase、Kafka、Flink、Spark、Hue 这些组件的运行底座。

更多推荐