首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

Hadoop 集群環境下 Sqoop 安裝配置實戰教程

     編輯:MySQL 綜合教學

Hadoop 集群環境下 Sqoop 安裝配置實戰教程

Sqoop 是 Apache Hadoop 生態中用於關係型資料庫與 HDFS/Hive 之間高效傳輸資料的工具,底層利用 MapReduce 實現並行導入導出。本文以 CDH3 版本為例,記錄完整安裝、配置與測試流程。

一、環境準備

  • Hadoop:hadoop-0.20.2-CDH3B4
  • Sqoop:sqoop-1.2.0-CDH3B4
  • MySQL JDBC:mysql-connector-java-5.1.10-bin.jar
  • OS:CentOS 6.x,已配置 Hadoop 單節點/叢集

二、安裝步驟

1. 解壓並部署

tar -zxvf sqoop-1.2.0-CDH3B4.tar.gz
tar -zxvf hadoop-0.20.2-CDH3B4.tar.gz

2. 複製依賴 JAR 到 Sqoop lib 目錄

cp mysql-connector-java-5.1.10-bin.jar sqoop-1.2.0-CDH3B4/lib/
cp hadoop-0.20.2-CDH3B4/hadoop-core-0.20.2-CDH3B4.jar sqoop-1.2.0-CDH3B4/lib/

3. 修改擁有者並移動到 hadoop 用戶目錄

chown -R hadoop:hadoop sqoop-1.2.0-CDH3B4
mv sqoop-1.2.0-CDH3B4 /home/hadoop/

4. 修改 configure-sqoop(註釋 HBase/ZooKeeper 檢查)

vi /home/hadoop/sqoop-1.2.0-CDH3B4/bin/configure-sqoop
# 註釋掉 HBASE_HOME 及 ZOOKEEPER_HOME 的檢查邏輯

5. 配置環境變數

# /home/hadoop/.bash_profile
export HADOOP_HOME=/home/hadoop/hadoop-0.20.2
export HIVE_HOME=/home/hadoop/hive-0.10.0
export MAHOUT_HOME=/home/hadoop/mahout-distribution-0.7
export PATH=$HADOOP_HOME/bin:$HIVE_HOME/bin:$MAHOUT_HOME/bin:$PATH

執行 source .bash_profile 生效。

三、功能測試

1. 列出 MySQL 資料庫

sqoop list-databases \
  --connect jdbc:mysql://192.168.1.152:3306/ \
  --username sqoop --password sqoop

2. 將 MySQL 表導入 Hive

sqoop import \
  --connect jdbc:mysql://192.168.1.152:3306/sqoop \
  --username sqoop --password sqoop \
  --table test --hive-import -m 1

-m 1 指定 1 個 Map 任務;生產環境可依資料量調大。

四、常用 Sqoop 命令速查

命令用途範例
list-databases列出所有資料庫sqoop list-databases --connect jdbc:mysql://host:3306/ -u root -p
list-tables列出指定資料庫的表sqoop list-tables --connect jdbc:mysql://host:3306/db -u root -p
create-hive-table僅同步表結構到 Hivesqoop create-hive-table --connect ... --table src --hive-table dst
import導入資料到 HDFS/Hivesqoop import --connect ... --table t --hive-import --hive-table ht -m 4
export從 HDFS/Hive 導出到 RDBMSsqoop export --connect ... --table t --export-dir /user/hive/warehouse/t
import (增量)增量導入sqoop import ... --check-column id --incremental append --last-value 100

五、常見問題與技巧

  • 密碼安全:避免在命令列明文傳遞密碼,使用 -P 交互輸入或 --password-file。
  • 直連優化:MySQL 導入可加 --direct 使用 mysqldump 快速通道。
  • 字段分隔符:導入 Hive 時預設使用 \001,可用 --fields-terminated-by 自定義。
  • 版本兼容:Sqoop 1.x 僅支援 Hadoop 1.x/2.x(MRv1/MRv2),Hadoop 3.x 請升級 Sqoop 1.4.7+。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved