# MRS 1.9.0版本证书有效期延长补丁指导
#### 补丁基本信息
MRS集群Manager和大数据组件证书即将过期（最晚将于2026.11.25过期），该补丁提供证书替换能力。
#### 安装补丁前提条件
1. 需要获取Manager页面登录用户名和登录密码（登录用户需要有集群的操作权限，例如admin用户）。
2. 下载补丁工具至集群主oms节点[补丁下载地址]。
![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
OMS节点一般为master1和master2节点，主OMS节点判断方法，执行以下命令，返回结果为active的节点为主OMS节点，返回结果为standby的节点为备OMS节点
x86架构：
```
su - omm -c "sh ${BIGDATA_HOME}/OMSV100R001C00x8664/workspace/ha/module/hacom/script/get_harole.sh"
```
aarch架构：
```
su - omm -c "sh ${BIGDATA_HOME}/OMSV100R001C00aarch64/workspace/ha/module/hacom/script/get_harole.sh
```
#### 安装补丁过程中对现行系统的影响
补丁操作过程中，需要重启Manager相关进程和集群组件。
重启Manager相关进程，会出现短暂作业提交失败和集群状态异常，影响时长1min内（不影响已运行作业），需要客户重新提交失败作业。
重启集群组件，MRS提供离线重启和滚动重启两种方式。
- 离线重启需要停服，在离线重启完成后，客户可重新提交作业。
- 滚动重启不需要停服，滚动重启期间可能会导致存量作业失败，请重启完成后重跑失败的作业。如果涉及到管理面提交作业，会出现短暂作业提交失败，影响时长1min内，需要客户重新提交失败作业。
 
#### 补丁使用流程
![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0000002798956199.png "点击放大")
#### 安装补丁
1. 使用root用户登录主OMS节点，将下载的补丁(MRS_1.9.0_cert_renewal_Patch_20260831.tar.gz)工具放至"/home/omm"目录下。
2. 修改相应权限后，切到omm用户下，并解压补丁工具（MRS_1.9.0_cert_renewal_Patch_20260831.tar.gz）至当前目录"/home/omm"。
   ```
   chown omm:wheel -R /home/omm/MRS_1.9.0_cert_renewal_Patch_20260831.tar.gz
   ```
   ```
   su - omm
   ```
   ```
   cd /home/omm
   ```
   ```
   tar -zxf MRS_1.9.0_cert_renewal_Patch_20260831.tar.gz
   ```
   
3. 在ips.ini中配置需要打补丁的节点IP（当前集群所有节点IP）。
   ```
   cd /home/omm/MRS_1.9.0_cert_renewal_Patch_20260831
   ```
   每行配置一个IP，中间不能有空行；
   

4. 执行脚本安装补丁。
   ```
   cd /home/omm/MRS_1.9.0_cert_renewal_Patch_20260831
   ```
   ```
   chmod 755 ./* -R
   ```
   ```
   find ./ -type f | xargs dos2unix
   ```
   ```
   nohup sh install.sh upgrade &
   ```
   通过tail -f nohup.out查看执行情况(如果出现"nohup : ignoring input and appending"提示，可按回车继续)，返回upgrade patch success.表示执行完成。
   
 
 #### 证书更换
1. 更新集群证书（使集群证书和OMS HA证书有效期延长）。 
   使用omm用户登录主OMS节点，执行如下命令：
   ```
   sh /opt/Bigdata/om-0.0.1/security/cert/conf/replace_cert.sh
   Please enter cluster login account:请输入Manager页面登录用户(该用户需要有集群的操作权限，例如admin用户)
   Please enter password of the cluster login account:请输入Manager页面登录用户密码
   ```
   ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
   - 此操作会更新OMS HA证书和集群证书，使有效期延长。
   
   - Manager页面登录用户需要有集群的操作权限，例如admin用户。
   
   - Manager页面登录用户对应密码若包含"\&"、"+"、"%"特殊字符或密码长度大于20位，可能会导致证书更新失败。建议修改用户密码或更换为满足条件的执行用户。
   
   - 日志打印"OMS HA certificate replacement completed!"表示更换OMS HA证书成功；日志打印"replace ca successful."表示"更换集群CA证书"脚本执行完成。
   
   - 如果执行"replace_cert.sh"脚本不支持交互式输入参数，可通过**sh /opt/Bigdata/om-0.0.1/security/cert/conf/replace_cert.sh --username='** *xxx* **' --userpwd='** *xxx* **'**来指定登录用户名和登录密码，此操作可能带来泄露敏感信息安全隐患，执行时需评估风险。
    
   
   
2. 同步配置以及重启受影响的组件。
   
   1. 登录Manager集群页面，进入"服务管理 \> 更多"页，单击"同步配置"选项刷新组件证书（不勾选"重启配置过期的服务或实例"）。
   
   2. 等待"同步配置"执行完成后，分别重启LdapServer、HDFS、Hive、Spark、HBase、Yarn、Mapreduce服务，重启服务参考[重启相关组件]。
   
   
   ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
   - 重启组件过程中，可能会误报服务不可用告警，服务启动完成后自动清除，可忽略。
   
   - 重启涉及组件完成后，可使用omm用户登录主OMS节点，执行如下命令，获取集群证书有效期列表： **sh /opt/Bigdata/nodeagent/security/cert/conf/listAllCertificateInfo.sh *${证书即将过期告警天数阈值}***
     例如：
     **sh /opt/Bigdata/nodeagent/security/cert/conf/listAllCertificateInfo.sh 300** (获取有效期300天内过期的证书)
     查看脚本运行结果，保存目录见关键字"The results are saved in"。
     证书有效期全量列表保存至certs_detail.csv，不满足证书即将过期告警天数阈值列表保存至certs_alarm.csv。
     ranger-admin-keystore.jks证书为安装集群时引入，MRS Ranger未使用该证书，过期不影响Ranger功能正常使用。如果检测到ranger-admin-keystore.jks证书过期，只需要在集群Master节点执行如下命令：
     **find /opt/Bigdata -name "ranger-admin-keystore.jks" -exec sh -c 'mv "$1" "${1}_bak"' _ {} \\;**
     
    
   
   
3. 刷新已安装客户端 
   1. 登录Manager集群页面，选择"服务管理 \> KrbServer"，进入服务详情页，单击"下载客户端"，客户端类型选择"完整客户端"，将下载的客户端放至已安装客户端的主机上。后续步骤新下载客户端目录以"/tmp/clientNew"为例。
   
   2. 使用客户端安装用户登录已安装客户端主机，执行如下命令解压客户端：
      ```
      cd /tmp/clientNew
      ```
      ```
      tar -xvf MRS_KrbServer_Client.tar
      ```
      ```
      tar -xvf MRS_KrbServer_ClientConfig.tar
      ```
      
   
   3. 执行如下命令，更新已安装客户端：
      ```
      cd MRS_KrbServer_ClientConfig
      ```
      ```
      sh refresh_client_cert.sh refresh ${已安装客户端目录}
      ```
      例如：
      ```
      sh refresh_client_cert.sh refresh /opt/client
      ```
      
      
   
   
   
   
4. 组件更新证书。 
   **Flink证书替换**（如果集群未安装Flink客户端，或集群为非安全集群，可跳过此步骤）
   ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
   如果后续要新下载安装Flink客户端，安装完成后请执行[4.b]操作。
   1. 将补丁安装目录中的"/home/omm/MRS_1.9.0_cert_renewal_Patch_20260831/1.9.0_cert_renewal_patch_20260831/client/clientReplace.sh"文件拷贝至Flink客户端所在节点。
   
   2. 将补丁安装目录中的"/home/omm/MRS_1.9.0_cert_renewal_Patch_20260831/1.9.0_cert_renewal_patch_20260831/files/x86_64/Flink/generate_keystore.sh"文件拷贝至Flink客户端所在节点，如：/opt目录下，进入Flink客户端所在节点执行以下命令。
      ```
      cd ${Flink客户端根目录}/Flink/flink/bin/
      ```
      ```
      \cp -f /opt/generate_keystore.sh  ./
      ```
      ```
      chown omm:wheel generate_keystore.sh   #如果该客户端为omm用户安装，执行该条命令。否则跳过
      ```
      ```
      chmod 755 generate_keystore.sh
      ```
      
   
   3. 进入Flink客户端所在节点，在clientReplace.sh文件所在位置，执行如下命令对Flink客户端证书进行替换。
      ```
      ./clientReplace.sh -Flink -p 客户端根目录 [-c 客户端证书所在目录地址] [-w 客户端证书密码]
      ```
      示例：
      ```
      ./clientReplace.sh -Flink -p /opt/client -c /opt/client/Flink/flink/conf/ssl -w xxx
      ```
      ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
      clientReplace.sh参数说明：
      - -Flink：Flink证书替换。
      
      - -p：Flink客户端安装路径。
      
      - -c（可选）：当前Flink客户端证书所在路径。默认路径为Flink客户端安装路径/conf/ssl。
      
      - -w（可选）：Flink客户端证书库的密码，为当前flink客户端认证密码。若未通过-w配置密码，执行脚本时通过交互式方式输入密码。
        
   
   4. clientReplace.sh脚本执行成功后，重新提交Flink客户端作业，使用的证书即为新替换证书。
      ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
      Flink客户端证书替换完成后，flink-conf.yaml文件中证书路径默认配置为绝对路径。
      若业务需要使用相对路径，请在flink-conf.yaml文件中将证书路径配置修改为相对路径。
      
   
   5. 查看当前客户端的Flink作业证书的有效期。 进入Flink客户端的证书目录（以${Flink客户端目录}/conf/ssl目录为例），执行如下命令。
      ```
      source /Flink客户端目录/bigdata_env
      ```
      ```
      cd {Flink客户端目录}/conf/ssl
      ```
      ```
      keytool -v -list -keystore  flink.keystore
      ```
      ```
      keytool -v -list -keystore  flink.truststore
      ```
      
      ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
      ***Flink客户端目录***替换为实际的客户端目录，如/opt/flinkclient/Flink/flink。
      查看证书有效期是否为100年，如下方示例所示，失效时间即为证书的有效期截止时间。
      Flink作业证书的"生效时间"和"失效时间" 示例：
      ```
      [root@192-168-33-108 conf]# keytool -v -list -keystore flink.keystore 
      Enter keystore password:  //查询证书信息，不需要输入密码，直接回车即可 
       
      *****************  WARNING WARNING WARNING  *****************
      * The integrity of the information stored in your keystore  *
      * has NOT been verified!  In order to verify its integrity, *
      * you must provide your keystore password.                  *
      *****************  WARNING WARNING WARNING  *****************
      Keystore type: jks
      Keystore provider: SUN
      Your keystore contains 2 entries
      Alias name: ca
      Creation date: Jun 29, 2026
      Entry type: trustedCertEntry
      Owner: CN=Flink_CA
      Issuer: CN=Flink_CA
      Serial number: 62f7fc87
      Valid from: Mon Jun 29 15:05:21 CST 2026  //生效时间 until: Wed Jun 05 15:05:21 CST 2126   //失效时间 
      Certificate fingerprints:
       MD5:  81:01:F1:3E:9D:F3:E0:5F:5A:D3:3E:31:0E:FD:39:94
       SHA1: AB:1A:EC:74:A1:AA:E2:FD:C3:08:A1:F5:5D:4F:5C:84:6A:25:E0:10
       SHA256: 54:1E:C2:70:65:8D:39:D1:3B:17:DE:25:B5:2F:39:15:82:99:F2:65:7C:93:50:48:8D:A0:83:51:74:4F:8B:52
      Signature algorithm name: SHA256withRSA
      Subject Public Key Algorithm: 2048-bit RSA key
      Version: 3
      ```
      
   
   
   ![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0000002723834620.png "点击放大")
   ![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0000002753274481.png "点击放大")
   
   
 
#### 扩容节点安装补丁
![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
更新完集群证书后，对于新扩容的节点，证书有效期为20年，如果需要延长证书有效期，可执行此章节。
1. 将从OBS路径中下载的补丁（MRS_1.9.0_cert_renewal_Patch_20260831.tar.gz）工具放至主OMS节点的"/home/omm"目录下(如果已存在，可跳过此步骤)。
2. 修改相应权限后，切到omm用户下，并解压补丁工具（MRS_1.9.0_cert_renewal_Patch_20260831.tar.gz）至当前目录(如果之前已执行，可跳过此步骤)。
   ```
   chown omm:wheel -R /home/omm/MRS_1.9.0_cert_renewal_Patch_20260831.tar.gz
   ```
   ```
   su - omm
   ```
   ```
   cd /home/omm
   ```
   ```
   tar -zxf MRS_1.9.0_cert_renewal_Patch_20260831.tar.gz
   ```
   
3. 进入解压后的目录，在ips.ini中配置需要打补丁的节点IP（当前集群扩容节点IP），每行配置一个IP，中间不能有空行。
   ```
   cd /home/omm/MRS_1.9.0_cert_renewal_Patch_20260831
   ```
   
4. 执行脚本安装补丁。
   ```
   nohup sh install.sh upgrade &
   ```
   通过**tail -f nohup.ou**t查看执行情况（打印 "upgrade patch success." 表示执行完成）。
   
5. 在manager页面上针对新扩容节点的DataNode、NodeManager、RegionServer、Worker、Broker、Flume、MirrorMaker、Supervisor、Logviewer实例进行同步配置以及重启操作。
   1. 登录Manager集群页面，进入"主机管理"页，单击新扩容节点名称进入"主机详情"页。
   
   2. 依次单击上述已安装实例名称，在"实例状态"页签中选择"更多 \> 同步配置"。
   
   3. 等待同步配置完成后，选择"更多 \> 重启实例"。
    
 
#### 证书回退
![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
如果需要将集群证书恢复为更换前CA证书，可执行"证书回退"章节。
如果涉及更新完集群证书后，新下载安装客户端，此类客户端在集群CA证书回退后，需要重新下载安装。
1. OMS HA证书回退。 使用**omm**用户登录主OMS节点，执行如下命令回退HA证书。
   ```
   sh /opt/Bigdata/om-0.0.1/security/cert/conf/rollbackOmsHaCert.sh
   ```
   
2. 集群CA证书回退。 使用**omm**用户登录主OMS节点，执行如下命令回退集群CA证书。
   ```
   sh /opt/Bigdata/om-0.0.1/security/cert/conf/rollback_ca.sh
   ```
   执行完成后，参考[步骤 2]进行同步配置以及重启受影响的组件，重启组件参考[重启相关组件]。
   
3. 回退已安装客户端证书。 如果未执行[证书更换]刷新客户端证书操作，可跳过此步骤。
   使用客户端安装用户登录已安装客户端主机，执行如下命令回退客户端证书：
   ```
   cd /tmp/clientNew/MRS_KrbServer_ClientConfig
   ```
   ```
   sh refresh_client_cert.sh rollback ${已安装客户端目录}
   ```
   例如：
   ```
   sh refresh_client_cert.sh rollback /opt/client
   ```
   
4. 回退Flink证书。（如果未执行**Flink证书替换** ，或集群为非安全集群，可跳过此步骤）
   ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
   如果未执行**Flink证书替换** 章节的**第3步** 使用clientReplace.sh脚本替换证书，回退时仅需执行如下[4.a]操作。
   1. 进入FlinkResource实例所在节点，下载"/opt/Bigdata/MRS_1.9.0/install/FusionInsight-Flink-1.7.0/flink/sbin/generate_keystore.sh"文件，并上传到替换证书的Flink客户端所在节点，如：/opt目录下，进入Flink客户端所在节点执行以下命令。
      ```
      cd ${Flink客户端根目录}/Flink/flink/bin/
      ```
      ```
      \cp -f /opt/generate_keystore.sh  ./
      ```
      ```
      chown omm:wheel generate_keystore.sh   #如果该客户端为omm用户安装，执行该条命令。否则跳过
      ```
      ```
      chmod 755 generate_keystore.sh
      ```
      
   
   2. 以Flink客户端安装用户登录到替换证书的Flink客户端节点，进入到clientReplace.sh文件所在目录，执行如下命令：
      ```
      sh clientReplace.sh -Flink -r -p ${客户端地址} [-c 要回退的Flink客户端证书所在目录]
      ```
      示例：
      ```
      sh clientReplace.sh -Flink -r -p /opt/client -c /opt/client/Flink/flink/conf/ssl/
      ```
      
    
 
 #### 重启相关组件
![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
在"更新集群证书"、"集群CA证书回退"操作中，需要重启相关组件使证书生效，可执行[重启相关组件]操作。
补丁安装完成后，需要手动重启相关大数据组件服务，使补丁生效。
提供两种重启方式，请根据业务自行选择重启方式：
- 滚动重启(推荐)：影响小，耗时长。
- 离线重启：会断服，耗时短。
1. 登录Manager界面。
2. 重启相关组件。 
   在Manager界面，选择"服务管理 \> *待操作的服务名称*"，在"服务状态"页签单击"更多"，选择"重启服务"或"滚动重启服务"。
   表1重启策略以及影响 
   | 组件名称           | 重启策略      | 影响范围                                                                                                                                                                                                                                                                                                                                                                  | 影响时间                                          |
   |:---|:---|:---|:---|
   | LdapServer | 直接重启  | 重启期间影响作业提交krb认证，可能导致作业提交失败。                                                                                                                                                                                                                                                                                                                                        | 直接重启耗时约5分钟。                                  |
   | LdapServer | 滚动重启  | 滚动重启不影响业务。                                                                                                                                                                                                                                                                                                                                                         | 滚动重启耗时约10分钟。                                |
   | HDFS       | 直接重启  | 重启期间无法进行HDFS读写，影响上层组件与作业。                                                                                                                                                                                                                                                                                                                                          | 直接重启耗时约10分钟。                               |
   | HDFS       | 滚动重启   | 滚动重启不影响业务。                                                                                                                                                                                                                                                                                                                                                         | 滚动重启10节点耗时约40分钟。                          |
   | Hive        | 直接重启  | 重启期间无法运行HiveSQL。                                                                                                                                                                                                                                                                                                                                                   | 直接重启耗时约5分钟。                                 |
   | Hive        | 滚动重启   | HiveServer滚动重启时，如果仍有客户端连接到滚动重启的HiveServer上，客户端正在运行的任务将失败。 重启Hive服务期间，如果仍有客户端连接HiveServer提交任务，可能导致任务运行失败。 **备注:** 在"滚动重启服务 \> 高级选项"中，可以根据情况调小"退服超时时间"，以避免滚动重启长时间等待情况，例如600s | HiveServer滚动重启时，将等待客户端连接断开，最长等待时间为退服超时时间。 |
   | Spark       | 直接重启    | 仅影响Spark thrift任务，SparkSQL、Spark Submit任务不受影响。                                                                                                                                                                                                                                                                                                                     | 直接重启耗时约5分钟。                               |
   | Spark       | 滚动重启   | 滚动重启过程中，提交的任务会有小概率失败，正在运行的任务不受影响。                                                                                                                                                                                                                                                                                                                                 | 滚动重启2个实例约10分钟。                            |
   | HBase      | 直接重启    | 重启期间无法进行HBase数据读写。                                                                                                                                                                                                                                                                                                                                                  | 直接重启耗时约5分钟。                               |
   | HBase      | 滚动重启   | 重启时客户端重试连接其他节点，不影响整体服务。                                                                                                                                                                                                                                                                                                                                              | 滚动重启10个节点耗时约30分钟。                            |
   | Yarn         | 直接重启 | 直接重启期间，不可新提交任务，正在运行Spark、Flink任务有重试机制不受影响。                                                                                                                                                                                                                                                                                                                        | 直接重启耗时约5分钟。                               |
   | Yarn         | 滚动重启  | 依赖NM的 remote shuffle Spark任务受影响，Flink任务有概率失败，Hive任务有概率失败。                                                                                                                                                                                                                                                                                                           | 滚动重启10节点耗时约25分钟。                          |
   | Mapreduce     | 直接重启   | 重启期间无法访问作业历史页面查看历史任务信息，不影响作业运行。                                                                                                                                                                                                                                                                                                                                   | 直接重启耗时约5分钟。                               |
   | Mapreduce     | 滚动重启   | 滚动重启不影响业务。                                                                                                                                                                                                                                                                                                                                                         | 滚动重启耗时约10分钟。                               |
      
   
   
 
#### 卸载补丁
![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
当集群安装补丁失败或新扩容节点安装补丁失败，可执行此章节进行补丁卸载。
1. 执行卸载脚本。
   ```
   su - omm
   ```
   ```
   cd /home/omm/MRS_1.9.0_cert_renewal_Patch_20260831
   ```
   
2. 在ips.ini中配置需要卸载补丁的节点IP（当前集群所有节点IP）。
   ```
   nohup sh install.sh rollback &
   ```
   
3. 通过tail -f nohup.out查看执行情况，打印如下内容表示执行完成：
   ```
   rollback patch success.
   ```
   
 
 #### 补丁下载地址
华南-广州：<https://mrs-container1-patch-cn-south-1.obs.cn-south-1.myhuaweicloud.com/MRS_Common_Script/MRS_1.9.0_cert_renewal_Patch_20260831.tar.gz>
