
# Sqoop1.4.7适配MRS 3.x集群
Sqoop是专为Apache Hadoop和结构化数据库（如关系型数据库）设计的高效传输大量数据的工具。MRS集群中未自带Sqoop组件时，如果需要在MRS中使用Sqoop进行数据迁移，可参考本文档自行安装对接使用。
部分版本集群包含了Sqoop组件，在创建MRS集群时直接勾选即可，详情可参考[MRS组件版本一览表](https://support.huaweicloud.com/productdesc-mrs/mrs_08_0005.html)。
![](https://support.huaweicloud.com/cmpntguide-mrs/public_sys-resources/note_3.0-zh-cn.png)
本章节仅适用于MRS 3.0.2及MRS 3.0.5版本。
#### 前提条件
已安装MRS客户端的节点，且已安装JDK环境。
![](https://support.huaweicloud.com/cmpntguide-mrs/zh-cn_image_0000001172162712.png)
#### Sqoop1.4.7适配步骤
1. 下载开源sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz包（下载地址<https://archive.apache.org/dist/sqoop/1.4.7/>）。
2. 将下载的sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz包放入已安装MRS客户端的节点的"/opt/Bigdata/client"目录并解压。 
   **tar zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz**
   
   
3. 从MySQL官网下载MySQL jdbc驱动程序"mysql-connector-java-xxx.jar"，具体MySQL jdbc驱动程序选择参见下表。
   
   表1版本信息 
   | jdbc驱动程序版本      | MySQL版本                                                                   |
   |:---|:---|
   | Connector/J 5.1 | MySQL 4.1、MySQL 5.0、MySQL 5.1、MySQL 6.0 alpha                             |
   | Connector/J 5.0 | MySQL 4.1、MySQL 5.0 servers、distributed transaction (XA)                  |
   | Connector/J 3.1 | MySQL 4.1、MySQL 5.0 servers、MySQL 5.0 except distributed transaction (XA) |
   | Connector/J 3.0 | MySQL 3.x、MySQL 4.1                                                       |
      
   
   
4. 将MySQL 驱动包放入Sqoop的lib目录下（/opt/Bigdata/client/sqoop-1.4.7.bin__hadoop-2.6.0/lib）并修改jar包的属组和权限，参考[图1]的omm:wheel 和755的属组和权限。
   
   图1MySQL 驱动包的属组和权限   
   ![](https://support.huaweicloud.com/cmpntguide-mrs/zh-cn_image_0000001172476238.png)
   
   
5. 使用MRS客户端中Hive的lib目录下（/opt/Bigdata/client/Hive/Beeline/lib）的jackson开头的jar包替换Sqoop的lib下的相应jar包。 
   图2jackson开头的jar   
   ![](https://support.huaweicloud.com/cmpntguide-mrs/zh-cn_image_0000001217636161.png)
   
   
6. 将MRS Hive客户端中（/opt/Bigdata/client/Hive/Beeline/lib）的jline的包，拷贝到Sqoop的lib下。
7. 执行**vim $JAVA_HOME/jre/lib/security/java.policy** 增加如下配置：
   
   **permission javax.management.MBeanTrustPermission "register";**
   
   
8. 执行如下命令，进入Sqoop的conf目录并增加配置： 
   **cd /opt/Bigdata/client/sqoop-1.4.7.bin__hadoop-2.6.0/conf**
   **cp sqoop-env-template.sh sqoop-env.sh**
   
   
9. 执行**vim sqoop-env.sh** 设置Sqoop的环境变量，Hadoop、Hive的目录根据实际目录修改。
   
   ```
   export HADOOP_COMMON_HOME=/opt/Bigdata/client/HDFS/hadoop
   export HADOOP_MAPRED_HOME=/opt/Bigdata/client/HDFS/hadoop
   export HIVE_HOME=/opt/Bigdata/MRS_1.9.X/install/FusionInsight-Hive-3.1.0/hive(请按照实际路径填写)
   export HIVE_CONF_DIR=/opt/Bigdata/client/Hive/config
   export HCAT_HOME=/opt/Bigdata/client/Hive/HCatalog
   ```
   图3设置Sqoop的环境变量   
   ![](https://support.huaweicloud.com/cmpntguide-mrs/zh-cn_image_0000001389655800.png)
   
   
10. 编写Sqoop脚本。 
    例如：
    ```
    /opt/Bigdata/FusionInsight_Current/1_19_SqoopClient/install/FusionInsight-Sqoop-1.4.7/bin/sqoop import 
    --connect jdbc:mysql://192.168.0.183:3306/test 
    --driver com.mysql.jdbc.Driver 
    --username 'root' 
    --query "SELECT id, name  FROM tbtest WHERE \$CONDITIONS" 
    --hcatalog-database default 
    --hcatalog-table test 
    --num-mappers 1
    -P
    ```
    
    
 
