
# 使用loader-backup工具备份作业数据
#### 操作场景
通过Loader WebUI或客户端工具loader-tool创建好作业后，可使用loader-backup工具进行数据备份。
![](https://support.huaweicloud.com/cmpntguide-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
- 仅有数据导出的Loader作业才支持数据备份。
- 此工具为Loader的内部接口，供上层组件HBase调用，只支持HDFS到SFTP的数据备份。
 
#### 前提条件
完成了Loader客户端的安装与配置，具体操作请参见[使用客户端运行Loader作业](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_1156.html)。
#### 操作步骤
1. 使用安装客户端的用户登录客户端所在节点，具体操作请参见[使用客户端运行Loader作业](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_1156.html)。
2. 执行以下命令，进入"backup.properties"文件所在目录。例如，Loader客户端安装目录为 "/opt/client/Loader/"。 
   **cd /opt/client/Loader/loader-tools-1.99.3/loader-backup/conf**
   
   
3. 执行以下命令，修改"backup.properties"文件的配置参数，参数具体说明如[表1]所示。
   
   **vi backup.properties**
   ```
   server.url = 10.0.0.1:21351,10.0.0.2:12000
   authentication.type = kerberos
   authentication.user =
   authentication.password=
   job.jobId = 1
   use.keytab = true
   client.principal = loader/hadoop
   client.keytab = /opt/client/conf/loader.keytab
   ```
    表1配置参数说明 
   | 配置参数                    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | 示例                             |
   |:---|:---|:---|
   | server.url              | Loader服务的浮动IP地址和端口（21351）。 为了兼容性，此处支持配置多个IP地址和端口，并以","进行分隔。其中第一个必须是Loader服务的浮动IP地址和端口（21351），其余的可根据业务需求配置。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | 10.0.0.1:21351,10.0.0.2:12000  |
   | authentication.type     | 登录认证的方式。 - "kerberos"，表示使用安全模式，进行Kerberos认证。Kerberos认证提供两种认证方式：密码和keytab文件。  - "simple"，表示使用普通模式，不进行Kerberos认证。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | kerberos                       |
   | authentication.user     | 普通模式或者使用密码认证方式时，登录使用的用户。 keytab登录方式，则不需要设置该参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | bar                            |
   | authentication.password | 使用密码认证方式时，登录使用的用户密码。 普通模式或者keytab登录方式，则不需要设置该参数。 用户需要对密码加密，加密方法： 1. 进入"encrypt_tool"所在目录。例如，Loader客户端安装目录为"/opt/hadoopclient/Loader"，则执行如下命令。 **cd /opt/hadoopclient/Loader/loader-tools-1.99.3**   2. 执行以下命令，对非加密密码进行加密。命令中如果携带认证密码信息可能存在安全风险，在执行命令前建议关闭系统的history命令记录功能，避免信息泄露。 **./encrypt_tool** *未加密的密码* 得到加密后的密文，作为"authentication.password"的取值。 说明： 非加密密码中含有特殊字符时需要转义。例如，$符号属于特殊字符，可使用单引号进行转义；非加密密码中含有单引号时可用双引号进行转义，非加密密码中含有双引号应使用反斜杠\\进行转义。可参考Shell的转义字符规则。    | -                              |
   | job.jobId               | 需要执行数据备份的作业ID。 作业ID可通过登录Loader webUI在已创建的作业查看。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | 1                              |
   | use.keytab              | 是否使用keytab方式登录。 - true，表示使用keytab文件登录  - false，表示使用密码登录。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | true                           |
   | client.principal        | 使用keytab认证方式时，访问Loader服务的用户规则。 普通模式或者密码登录方式，则不需要设置该参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | loader/hadoop                  |
   | client.keytab           | 使用keytab认证方式登录时，使用的keytab文件所在目录。 普通模式或者密码登录方式，则不需要设置该参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | /opt/client/conf/loader.keytab |
      
   
   
4. 执行以下命令，进入备份脚本"run.sh"所在目录。例如，Loader客户端安装目录为"/opt/hadoopclient/Loader"。 
   **cd /opt/hadoopclient/Loader/loader-tools-1.99.3/loader-backup**
   
   
5. 执行以下命令，运行备份脚本"run.sh"，进行Loader作业数据备份。系统将数据备份到作业的输出路径同一层目录。 
   **./run.sh** *备份数据的输入目录*
   例如，备份数据的输入目录为"/user/hbase/"，作业的输出路径为/opt/client/sftp/sftp1，其中sftp1只起到一个占位符的作用。执行如下命令，数据将备份到/opt/client/sftp/hbase目录。
   **./run.sh /user/hbase/**
   
   
 
