
# 克隆MRS集群作业
MRS集群提供了克隆作业能力。用户每次只能克隆1个作业，单击克隆后的作业信息不再区分显示运行程序参数和执行程序参数，而是合并显示为命令参考。
克隆MRS集群作业可以应用在以下几个场景：
- 快速部署相似作业：当有一系列相似的数据分析或处理任务时，通过克隆作业可以避免重复配置作业参数、输入输出路径、任务逻辑等信息。只需在克隆后的作业基础上进行少量修改，就能快速部署新的作业，大大节省了作业创建的时间和工作量。
- 作业调试与优化：在开发和优化作业时，可以克隆原始作业进行测试和调整。这样可以在不影响原始作业的前提下，尝试不同的参数设置、算法逻辑或资源配置，对比不同克隆作业的执行结果和性能表现，从而找到最优的作业配置。
- 作业备份与恢复：克隆作业可以作为一种简单的备份方式。如果原始作业出现故障或被误删除，克隆作业可以作为备用版本迅速恢复使用。此外，对于一些重要的作业，定期克隆并保存，可以在需要时快速获取到历史作业的副本，便于数据追溯和分析。
#### 约束与限制
- DistCp、SQL类（SparkSQL、HiveSQL等）作业类型无法克隆。
- 该功能暂时仅在北京四region开放，如需体验，请联系运维人员。
 
#### 克隆MRS集群作业
1. 登录[MRS管理控制台](https://console.huaweicloud.com/mrs/)。
2. 选择"现有集群"，选中一个待操作的运行中的集群并单击集群名称，进入集群概览信息页面。
3. 选择"作业管理"。
4. 在需要克隆作业的对应的"操作"列中，单击"克隆"，弹出"克隆作业"对话框。
5. 配置克隆参数。 
   - 若无参数修改，无需执行本步骤。
   
   - 若有参数修改，参考[表1]根据实际情况填写参数，单击"确定"下发克隆作业。
      表1克隆参数 
     | 参数     | 参数描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | 示例                                                                                             |
     |:---|:---|:---|
     | 作业类型   | 克隆的作业类型，不能修改。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | SparkSubmit                                                                                    |
     | 作业名称   | 用户根据实际情况填写。 只能由字母、数字、中划线和下划线组成，并且长度为1～64个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | mrs_test                                                                                       |
     | 命令参考   | 由添加作业时的"运行程序参数"与"执行程序参数"组成。在原有的命令后，按", {*新* *参数*}"的格式继续新增参数。 - 增加新的运行程序参数：新的命令参考是"运行程序参数, {*新的运行程序参数*}, 执行程序参数"。  - 增加新的执行程序参数：新的命令参考是"运行程序参数, 执行程序参数, {*新的执行程序参数*}"。   例如原有的命令参考为： -D, 10, -F, 12, abc ，增加新的运行程序参数时，则新的命令参考为：-D, 10, -F, 12, -G, 18, abc；增加新的执行程序参数时，则新的命令参考为：-D, 10, -F, 12, abc, efg。用户根据实际需求按照该规则（, *新参数*）追加新的参数。                                                                                                                                       | --class, lsm.SparkTest, --master, yarn, --deploy-mode, cluster, obs://mrs-test-01/spark331.jar |
     | 服务配置参数 | 在原有的参数后，按", {*key* }={*value* }"的格式添加新的服务配置参数。例如原有参数为appender.out.strategy.max=10，则新的服务参数为：appender.out.strategy.max=10, appender.err.strategy.max=15。用户根据实际需求按照该规则（, {*key* }={*value*}）追加新的参数。 - **克隆作业时，逗号+空格的格式只能在两个参数间存在；若存在于参数中，作业可能执行失败。**  - **在原有参数后继续添加参数，逗号后需要有空格，否则作业可能执行失败。**  - **克隆的作业返回参数不含有fs.obs.access.key、fs.obs.secret.key，若需要fs.obs.access.key、fs.obs.secret.key，需在"服务配置参数"中添加。**   | mrs.cluster.is.user-agency=true                                                                |
        
     
   
   
   
   
6. 单击"确定"下发克隆作业。 
   作业克隆成功后，作业会自动执行，等待执行完成后，作业状态为"已完成"状态。
   
   
 
