
# loader-tool工具使用示例
#### 操作场景
loader-tool工具支持通过作业模板或参数选项的方式，对连接器或者作业进行创建、更新、查询、删除等操作。
本文将以"从SFTP服务器导入数据到HDFS"的作业为例，通过引用作业模板的方式，介绍loader-tool工具的使用方法。
#### 前提条件
已安装并配置Loader客户端，具体操作请参见[使用客户端运行Loader作业](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_1156.html)。
#### 操作步骤
1. 使用安装客户端的用户登录客户端所在节点。
2. 执行以下命令，进入Loader客户端的loader-tool工具目录。例如，Loader客户端安装目录为"/opt/client/Loader/"。 
   **cd /opt/client/Loader/loader-tools-1.99.3/loader-tool/**
   
   
3. 执行以下命令，修改已有的作业模板。例如，"/opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/job-config/"目录下已有的作业模板"sftp-to-hdfs.xml"。 
   **vi /opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/job-config/sftp-to-hdfs.xml**
   ```
   <root>
   <!-- 连接数据库的信息 -->
   <sqoop.connection name="vt_sftp_test" type="sftp-connector">
   <connection.sftpServerIp>10.96.26.111</connection.sftpServerIp>
   <connection.sftpServerPort>22</connection.sftpServerPort>
   <connection.sftpUser>root</connection.sftpUser>
   <connection.sftpPassword>密码密文</connection.sftpPassword>
   </sqoop.connection>
   <!-- Job名称，全局唯一 -->
   <sqoop.job name="Sftp.to.Hdfs" type="IMPORT" queue="default" priority="NORMAL">
   <data.source connectionName="vt_sftp_test" connectionType="sftp-connector">
   <file.inputPath>/opt/houjt/hive/all</file.inputPath>
   <file.splitType>FILE</file.splitType>
   <file.filterType>WILDCARD</file.filterType>
   <file.pathFilter>*</file.pathFilter>
   <file.fileFilter>*</file.fileFilter>
   <file.encodeType>GBK</file.encodeType>
   <file.suffixName></file.suffixName>
   <file.isCompressive>FALSE</file.isCompressive>
   </data.source>
   <hadoop.source storageType="HDFS" >
   <output.outputDirectory>/user/loader/sftp-to-hdfs</output.outputDirectory>
   <output.fileOprType>OVERRIDE</output.fileOprType>
   <throttling.extractors>3</throttling.extractors>
   <output.fileType>TEXT_FILE</output.fileType>
   </hadoop.source>
   <sqoop.job.trans.file></sqoop.job.trans.file>
   </sqoop.job>
   </root>
   ```
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
   Loader每个作业都需要关联一个连接器，连接器主要作用：对于数据导入到集群的场景来说，就是从外部数据源读取数据；对于数据从集群导出去的场景来说，就是将数据写入到外部数据源。上述示例配置的是一个SFTP数据源连接器。配置SFTP和FTP的数据源连接器需要设置密码并进行加密。密码加密方法如下：
   1. 执行以下命令，进入到loader-tools-1.99.3目录。Loader客户端安装目录为"/opt/hadoopclient/Loader"。 **cd /opt/hadoopclient/Loader/loader-tools-1.99.3**
      
   
   2. 执行以下命令，对非加密密码加密。 **./encrypt_tool** *未加密的密码*
      
    
   
   
4. 执行以下命令，进入loader-tool工具目录。 
   **cd /opt/client/Loader/loader-tools-1.99.3/loader-tool**
   
   
5. 执行以下命令，使用lt-ucc工具创建连接器。 
   **./bin/lt-ucc -l /opt/client/Loader/loader-tools-1.99.3/loader-tool/job-config/login-info.xml -w /opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/job-config/sftp-to-hdfs.xml -a create**
   如无报错信息，且显示如下信息，则表示创建连接器的任务提交成功。
   ```
   User login success. begin to execute task.
   ```
   
   
6. 执行以下命令，使用lt-ucj工具创建作业。 
   **./bin/lt-ucj -l /opt/client/Loader/loader-tools-1.99.3/loader-tool/job-config/login-info.xml -w /opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/job-config/sftp-to-hdfs.xml -a create**
   如无报错信息，且显示如下信息，则表示创建作业的任务提交成功。
   ```
   User login success. begin to execute task.
   ```
   
   
7. 执行以下命令，使用lt-ctl工具提交作业。 
   **./bin/lt-ctl -l /opt/client/Loader/loader-tools-1.99.3/loader-tool/job-config/login-info.xml -n Sftp.to.Hdfs -a start**
   显示如下信息，表示作业提交成功。
   ```
   Start job success.
   ```
   
   
8. 执行以下命令，查看作业状态。 
   **./bin/lt-ctl -l /opt/client/Loader/loader-tools-1.99.3/loader-tool/job-config/login-info.xml -n Sftp.to.Hdfs -a status**
   ```
   Job:Sftp.to.Hdfs
   Status:RUNNING
   Progress: 0.0
   ```
   
   
 
