
# schedule-tool工具使用指导
#### 概述
schedule-tool工具，用于提交数据源为SFTP的作业。提交作业前可以修改输入路径、文件过滤条件，当目标源为HDFS时，可以修改输出路径。
#### 参数说明
表1schedule.properties配置参数说明 
| 配置参数                    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | 示例                                                                                                                                                             |
|:---|:---|:---|
| server.url              | Loader服务的浮动IP地址和端口。端口默认为21351。 为了兼容性，此处支持配置多个IP地址和端口，并以","进行分隔。其中第一个必须是Loader服务的浮动IP地址和端口，其余的可根据业务需求配置。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 10.96.26.111:21351,127.0.0.2:21351                                                                                                                             |
| 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的转义字符规则。    | -                                                                                                                                                              |
| use.keytab              | 是否使用keytab方式登录。 - true，表示使用keytab文件登录  - false，表示使用密码登录。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | true                                                                                                                                                           |
| client.principal        | 使用keytab认证方式时，访问Loader服务的用户规则。 普通模式或者密码登录方式，则不需要设置该参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | loader/hadoop.*\<系统域名\>* 说明： 用户可登录FusionInsight Manager，选择"系统 \> 权限 \> 域和互信"，查看"本端域"参数，即为当前系统域名。 |
| client.keytab           | 使用keytab认证方式登录时，使用的keytab文件所在目录。 普通模式或者密码登录方式，则不需要设置该参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | /opt/client/conf/loader.keytab                                                                                                                                 |
| krb5.conf.file          | 使用keytab认证方式登录时，使用的krb5.conf文件所在目录。 普通模式或者密码登录方式，则不需要设置该参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | /opt/client/conf/krb5.conf                                                                                                                                     |
   
 表2job.properties配置参数说明 
| 配置参数                     | 说明                                                                                                                                                                                                                                                                                                                                                                                                                            | 示例       |
|:---|:---|:---|
| job.jobName              | 作业的名称。                                                                                                                                                                                                                                                                                                                                                                                                                        | job1     |
| file.fileName.prefix     | 文件名的前缀。                                                                                                                                                                                                                                                                                                                                                                                                                       | table1   |
| file.fileName.postfix    | 文件名的后缀。                                                                                                                                                                                                                                                                                                                                                                                                                       | .txt     |
| file.filter              | 文件过滤器，通过匹配文件名来过滤文件。 - "true"， 表示用上面的前缀/后缀，来匹配输入路径下的所有文件。详细使用，见最后示例。  - "false"，表示用上面的前缀/后缀，来匹配输入路径下的某一个文件。详细使用，见最后示例。   | true     |
| date.day                 | 顺延的天数，匹配导入文件的文件名中的日期。例如命令参数传入的日期是20160202，顺延天数是3，则匹配作业配置的输入路径中包含20160205日期字段的文件。详细使用见[schedule-tool工具使用示例](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_1160.html)。                                                                                                                                                                                                                                              | 3        |
| file.date.format         | 待导入文件的文件名中所包含的日志格式。                                                                                                                                                                                                                                                                                                                                                                                                           | yyyyMMdd |
| parameter.date.format    | 调用脚本时，所输入的日期格式，一般保持与"file.date.format"一致。                                                                                                                                                                                                                                                                                                                                                                                     | yyyyMMdd |
| file.format.iscompressed | 待导入的文件是否为压缩文件。                                                                                                                                                                                                                                                                                                                                                                                                                | false    |
| storage.type             | 存储类型。待导入文件最终保存的类型，分别有HDFS、HBase、Hive等。                                                                                                                                                                                                                                                                                                                                                                                        | HDFS     |
   
![](https://support.huaweicloud.com/cmpntguide-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
schedule-tool工具支持同时配置多个作业。配置多个作业时，[表2]中"job.jobName"、"file.fileName.prefix"、"file.fileName.postfix"参数需配置多个值，并且以","分隔。
#### 注意事项
server.url属性必须需要配置两个IP地址和端口的格式串，用","分隔。
