
# 更换HA证书
HA证书用于主备进程与高可用进程的通信过程中加密数据，实现安全通信。该任务指导用户为Manager完成主备管理节点的HA证书替换工作，以确保产品安全使用。适用于以下场景：
- 首次安装好集群以后，需要更换企业证书。
- 企业证书有效时间已过期或安全性加强，需要更换为新的证书。
不支持未安装主备管理节点集群进行HA证书替换操作。
证书文件和密钥文件可向企业证书中心申请或由集群用户生成。
#### 对系统的影响
更换过程中Manager需要重启，此时系统无法访问且无法提供服务。
#### 前提条件
- 获取需要更换的HA根证书文件"root-ca.crt"和密钥文件"root-ca.pem"。
- 准备一个访问密钥文件的密码password，例如"Userpwd@123"用于访问密钥文件。 密码复杂度要求如下，如果密码复杂度不满足如下要求，可能存在安全风险：
  - 密码字符长度至少为8个字符
  
  - 至少需要包含大写字母、小写字母、数字、特殊字符\~\`!?,.:;-_'(){}\[\]/\<\>@#$%\^\&\*+\|\\=中的4种类型字符。
   
- 向证书中心申请证书时，请提供访问密钥文件的密码并申请crt、cer、cert和pem格式证书文件，以及key和pem格式密钥文件。申请的证书需要有签发功能。
 
#### 更换HA证书（MRS 3.x及之后版本）
1. 以**omm**用户登录主管理节点。
2. 选择证书和密钥文件的生成方式： 
   - 若由证书中心生成，请在主备管理节点"${OMS_RUN_PATH}/workspace0/ha/local/cert"目录保存申请的证书文件与密钥文件。 若获取的证书文件格式不是".crt"，密钥文件格式不是".pem"，执行以下命令修改：
     **mv** *证书名称.* *证书格式* **root-ca.crt**
     **mv** *密钥名称.* *密钥格式* **root-ca.pem**
     例如，将证书文件命名为"root-ca.crt"，密钥文件命名为"root-ca.pem"：
     **mv server.cer root-ca.crt**
     **mv server_key.key root-ca.pem**
     
   
   - 若由集群用户生成，执行以下命令在主管理节点"${OMS_RUN_PATH}/workspace0/ha/local/cert"目录生成"root-ca.crt"和"root-ca.pem"： **sh ${OMS_RUN_PATH}/workspace/ha/module/hacom/script/gen-cert.sh --root-ca --country=CN --state=** *state* **--city=** *city* **--company=** *company* **--organize=** *organize* **--common-name=** *commonname* **--email=** *集群用户邮箱*
     ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
     生成的证书文件有效期为10年，在系统证书文件即将过期时，系统将产生告警"ALM-12055 证书文件即将过期"。
     例如，执行以下命令：
     **sh ${OMS_RUN_PATH}/workspace/ha/module/hacom/script/gen-cert.sh --root-ca --country=CN --state=guangdong --city=shenzhen --company=huawei --organize=IT --common-name=HADOOP.COM --email=abc@** *example* **.com**
     根据提示信息输入*password*，并按回车键确认。
     ```
     Enter pass phrase for /opt/huawei/Bigdata/om-server/OMS/workspace/ha/local/cert/root-ca.pem:
     ```
     提示以下信息表示命令执行成功：
     ```
     Generate root-ca pair success.
     ```
     
   
   
   
   
3. 在主管理节点以**omm** 用户执行以下命令，复制"root-ca.crt"和"root-ca.pem"到"${BIGDATA_HOME}/om-server/om/security/certHA"目录。
   
   **cp -arp ${OMS_RUN_PATH}/workspace0/ha/local/cert/root-ca.\* ${BIGDATA_HOME}/om-server/om/security/certHA**
   
   
4. 使用**omm** 用户将主管理节点生成的"root-ca.crt"和"root-ca.pem"复制到备管理节点"${BIGDATA_HOME}/om-server/om/security/certHA"目录。
   
   **scp** **${OMS_RUN_PATH}/workspace0/ha/local/cert/root-ca.\*** **omm@** *备管理节点IP* :**${BIGDATA_HOME}/om-server/om/security/certHA**
   
   
5. 执行以下命令，生成HA用户证书并自动替换。
   
   **sh ${BIGDATA_HOME}/om-server/om/sbin/replacehaSSLCert.sh**
   根据提示信息输入*password*，并按回车键确认。
   ```
   Please input ha ssl cert password:
   ```
   界面提示以下信息表示HA用户证书替换成功：
   ```
   [INFO] Succeed to replace ha ssl cert.
   ```
   如果用户需要更新HA密码加密套件，可以带-u参数。
   
   
6. 执行以下命令，重启OMS。
   
   **sh ${BIGDATA_HOME}/om-server/om/sbin/restart-oms.sh**
   界面提示以下信息：
   ```
   start HA successfully.
   ```
   
   
7. 以**omm** 用户通过备管理节点IP登录备管理节点，重复[步骤 5]～[步骤 6]。
   
   执行**sh ${BIGDATA_HOME}/om-server/om/sbin/status-oms.sh**，查看管理节点的"HAAllResOK"是否为"Normal"，并可以重新登录FusionInsight Manager表示操作成功。
   
   
 
#### 更换HA证书（MRS 2.x及之前版本）
1. 登录主管理节点。
2. 执行以下命令切换用户： 
   **sudo su - root**
   **su - omm**
   
   
3. 执行以下命令在主管理节点"${OMS_RUN_PATH}/workspace0/ha/local/cert"目录生成"root-ca.crt"和"root-ca.pem"： 
   **sh ${OMS_RUN_PATH}/workspace/ha/module/hacom/script/gen-cert.sh --root-ca --country=** *country* **--state=** *state* **--city=** *city* **--company=** *company* **--organize=** *organize* **--common-name=** *commonname* **--email=** *管理员邮箱* **--password=** *password*
   命令中如果携带认证密码信息可能存在安全风险，在执行命令前建议关闭系统的history命令记录功能，避免信息泄露。
   例如，执行以下命令：**sh ${OMS_RUN_PATH}/workspace/ha/module/hacom/script/gen-cert.sh --root-ca --country=CN --state=gd --city=sz --company=hw --organize=IT --common-name=HADOOP.COM --email=abc@** *example* **.com --password=** *xxx*
   提示以下信息表示命令执行成功：
   ```
   Generate root-ca pair success.
   ```
   
   
4. 在主管理节点以"omm"用户执行以下命令，复制"root-ca.crt"和"root-ca.pem"到"${BIGDATA_HOME}/om-0.0.1/security/certHA"目录。 
   **cp -arp ${OMS_RUN_PATH}/workspace0/ha/local/cert/root-ca.\* ${BIGDATA_HOME}/om-0.0.1/security/certHA**
   
   
5. 使用"omm"用户将主管理节点生成的"root-ca.crt"和"root-ca.pem"复制到备管理节点"${BIGDATA_HOME}/om-0.0.1/security/certHA"目录。
6. 执行以下命令，生成HA用户证书并自动替换。
   
   **sh ${BIGDATA_HOME}/om-0.0.1/sbin/replacehaSSLCert.sh**
   根据提示信息输入password，并按回车键确认。
   ```
   Please input ha ssl cert password:
   ```
   界面提示以下信息表示HA用户证书替换成功：
   ```
   [INFO] Succeed to replace ha ssl cert.
   ```
   
   
7. 执行以下命令，重启OMS。
   
   **sh ${BIGDATA_HOME}/om-0.0.1/sbin/restart-oms.sh**
   界面提示以下信息：
   ```
   start HA successfully.
   ```
   
   
8. 登录备管理节点并切换到**omm** 用户，重复[步骤 6]～[步骤 7]。
   
   执行**sh ${BIGDATA_HOME}/om-0.0.1/sbin/status-oms.sh**，查看管理节点的"HAAllResOK"是否为"Normal"，并可以重新访问MRS Manager表示操作成功。
   
   
 
