安装或设置

Sqoop 作为一个二进制包发布,但它是来自两个独立部分客户端和服务器的复合。你需要在群集中的单个节点上安装服务器。然后,此节点将用作所有连接 Sqoop 客户端的入口点。服务器充当 mapreduce 客户端,因此必须在托管 Sqoop 服务器的计算机上安装和配置 Hadoop。客户端可以安装在任意数量的计算机上。客户端不充当 mapreduce 客户端,因此你不需要在仅充当 Sqoop 客户端的节点上安装 Hadoop。

在要运行 Sqoop 服务器的计算机上复制 Sqoop 工件。该机器必须已安装并配置 Hadoop。你不需要在那里运行任何 Hadoop 相关服务,但是该机器必须能够充当 Hadoop 客户端。

# Extract Sqoop  tar
tar -xf sqoop-<version>-bin-hadoop<hadoop-version>.tar.gz

# Move decompressed content to any location 
  (you can also setup soft links to sqoop directory)
mv sqoop-<version>-bin-hadoop<hadoop version>.tar.gz /opt/apache/sqoop

# Change working directory
cd /opt/apache/sqoop

为 SQOOP 安装依赖项

你需要将 Hadoop 库安装到 Sqoop 服务器 war 文件中。Sqoop 提供了方便的脚本 addtowar.sh 来做到这一点。

如果你在/ usr / lib 中的常规位置安装了 Hadoop 并且可执行文件中有 hadoop,则可以使用自动 Hadoop 安装过程:

./bin/addtowar.sh -hadoop-auto

如果你在不同位置安装了 Hadoop,则需要手动指定 Hadoop 版本和 Hadoop 库的路径。你可以使用参数 -hadoop-version 来指定 Hadoop 主要版本,

./bin/addtowar.sh -hadoop-version 2.0 -hadoop-path /usr/lib/hadoop-common:/usr/lib/hadoop-hdfs:/usr/lib/hadoop-yarn
  • 为 sqoop 安装所需的 JDBC jar 以连接到数据库

./bin/addtowar.sh -jars /path/to/jar/mysql-connector-java-*-bin.jar

启动和停止 Sqoop 服务器服务

./bin/sqoop.sh server start
./bin/sqoop.sh server stop

Sqoop 客户端配置步骤

在目标计算机上复制 Sqoop 分发工件并将其解压缩到所需位置。你可以使用以下命令启动客户端:

bin/sqoop.sh client

Sqoop 2 客户端能够像其他命令行工具一样加载资源文件。在执行开始时,Sqoop 客户端将检查当前登录用户的主目录中是否存在文件 .sqoop2rc。如果存在此类文件,则在任何其他操作之前将对其进行解释。此文件以交互模式和批处理模式加载。它可用于执行任何批量兼容的命令。

示例资源文件:

# Configure our Sqoop 2 server automatically
set server --host sqoop2.company.net

# Run in verbose mode by default
set option --name verbose --value true