
# 添加MRS节点引导操作安装第三方软件
#### 前提条件
已参考[准备MRS节点引导操作脚本](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0413.html)准备好引导操作脚本。
#### 添加引导操作
引导操作支持在创建集群时添加，或者在集群创建后进行添加。同时也支持在弹性伸缩页面配置自动化执行脚本。
- [创建集群时添加]
  1. 进入[购买MRS集群页面](https://console.huaweicloud.com/mrs/?#/clusterCreate/quick)。
  
  2. 在购买集群页面，选择"自定义购买"。
  
  3. 参考[自定义购买MRS集群](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0513.html)配置集群软件配置和硬件配置信息。
  
  4. 开启"高级配置"，单击引导操作栏的"添加"，配置以下参数。 
     表1参数描述 
     | 参数          | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | 示例                       |
     |:---|:---|:---|
     | 名称          | 引导操作脚本的名称，同一集群内，不允许配置相同的名称，不同集群之间，可以配置相同的名称。 只能由数字、英文字符、空格、中划线和下划线组成，且不能以空格开头。可输入的字符串长度为1～64个字符。                                                                                                                                                                                                                                                                                                                                                                                       | bootstrap_0              |
     | 脚本路径        | 脚本的路径，路径可以是OBS文件系统的路径或虚拟机本地的路径。 **同一集群内，不允许配置相同的路径。不同集群之间，可以配置相同的路径。** - OBS文件系统的路径，必须以obs://开头，以.sh结尾。例如：obs://mrs-samples/xxx.sh  - 虚拟机本地的路径，脚本所在的路径必须以'/'开头，以.sh结尾。   | obs://mrs-samples/xxx.sh |
     | 参数          | 引导操作脚本参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | -                        |
     | 执行节点        | 选择引导操作脚本所执行的节点类型。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | -                        |
     | 执行时机        | 选择引导操作脚本执行的时间。 **为已运行的集群添加引导操作时，只能通过手动方式在节点上执行第三方组件的安装脚本进行安装。** - 组件首次启动前  - 组件首次启动后                                                                                                                | 组件首次启动后                  |
     | 失败操作        | 该脚本执行失败后，是否继续执行后续脚本和创建集群。 建议设置为"继续"，无论此引导操作是否执行成功，则集群都能继续创建。                                                                                                                                                                                                                                                                                                                                                                                                                            | 继续                       |
     | 提权到root用户执行 | 是否提权到root用户执行（该参数仅适用于MRS 3.1.5和MRS 3.3.0及之后版本的集群）。 引导操作需要root用户权限操作时，需要开启该授权功能，否则引导操作可能会执行失败。                                                                                                                                                                                                                                                                                                                                                                                         | -                        |
        
     
     
  
  5. 单击"确定"。 
     添加成功后，可以通过"操作"列进行编辑、克隆和删除。
     
     
   
- [为已有集群添加]
  1. 登录[MRS管理控制台](https://console.huaweicloud.com/mrs/)。
  
  2. 选择"现有集群"，选中一个待操作的运行中的集群并单击集群名称，进入集群概览信息页面。
  
  3. 在集群基本信息页，单击"引导操作"。
  
  4. 单击"添加"，根据界面信息填写对应参数。 
     图1添加引导操作   
     ![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0000002185037785.png "点击放大")
      表2参数描述 
     | 参数            | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 示例                       |
     |:---|:---|:---|
     | 名称            | 引导操作脚本的名称。同一集群内，不允许配置相同的名称。不同集群之间，可以配置相同的名称。 只能由数字、英文字符、空格、中划线和下划线组成，且不能以空格开头。 可输入的字符串长度为1～64个字符。                                                                                                                                                                                                                                                                                                                                                                                 | bootstrap_0              |
     | 脚本路径          | 脚本的路径。路径可以是OBS文件系统的路径或虚拟机本地的路径。 **同一集群内，不允许配置相同的路径。不同集群之间，可以配置相同的路径。** - OBS文件系统的路径，必须以obs://开头，以.sh结尾。例如：obs://mrs-samples/xxx.sh  - 虚拟机本地的路径，脚本所在的路径必须以'/'开头，以.sh结尾。   | obs://mrs-samples/xxx.sh |
     | 执行节点          | 选择引导操作脚本所执行的节点类型。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | -                        |
     | Active Master | 仅在选中Master作为执行节点时有意义，表示是否只在Active Master节点上执行。默认关闭，即在所有Master节点执行。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | -                        |
     | 参数            | 可选，引导操作脚本参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | -                        |
     | 执行时机          | 选择引导操作脚本执行的时间。 **为已运行的集群添加引导操作时，只能通过手动方式在节点上执行第三方组件的安装脚本进行安装。** - 组件首次启动前  - 组件首次启动后                                                                                           | 组件首次启动后                  |
     | 失败操作          | 该脚本执行失败后，是否继续执行后续脚本和创建集群。 建议设置为"继续"，无论此引导操作是否执行成功，则集群都能继续创建。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | 继续                       |
     | 提权到root用户执行   | 是否提权到root用户执行（该参数仅适用于MRS 3.1.5和MRS 3.3.0及之后版本的集群）。 引导操作需要root用户权限操作时，需要开启该授权功能，否则引导操作可能会执行失败。                                                                                                                                                                                                                                                                                                                                                                                                                                                     | -                        |
        
     
     
  
  5. 单击"确定"保存添加的引导操作。
  
  6. 单击"是"即可添加成功。添加成功后可在引导操作列表中修改或删除引导操作。
   
 #### 配置弹性伸缩节点的自动化执行脚本
对于弹性伸缩场景，MRS支持通过自定义弹性伸缩自动化脚本来解决。自动化脚本可以在弹性伸缩前后执行相应操作，自动适应业务负载的变化，免去了人工操作。
- 用户可以设置自定义脚本，当弹性伸缩触发时，在集群节点上自动运行。
- 使用自动化脚本前，请先将脚本上传到集群虚拟机或与集群同region的OBS文件系统中。集群虚拟机上的脚本只能在已有节点上执行，若脚本需要在新扩容的节点上执行，请将脚本上传到OBS。
1. 登录[MRS管理控制台](https://console.huaweicloud.com/mrs/)。
2. 选择"现有集群"，选中一个待操作的运行中的集群并单击集群名称，进入集群概览信息页面。
3. 选择"弹性伸缩"页签。
4. 单击"配置自动化脚本"按钮。
5. 单击"添加"。参考[表2]配置相关参数。
   
   其中"执行时机"可选择参数为"扩容前"、"扩容后"、"缩容前"、"缩容后"。
   
   
6. 单击"确定"保存自动化脚本配置。
 
#### 相关文档
- 如果需要配置MRS集群节点弹性伸缩，要求集群根据数据量的变化动态调整集群节点数量以增减资源，具体操作请参见[MRS集群Task节点弹性伸缩](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0061.html)。
- 如果创建集群时添加了引导操作，并且在对集群节点扩容时配置了"执行引导操作"参数，则扩容的节点会把创建集群时添加的引导操作脚本都执行一遍，具体操作请参见[扩容MRS集群](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0063.html)。
 
