
# 重启MRS集群
MRS集群运行过程中，在修改了组件的配置项、基础资源故障或者服务进程异常等运维场景中，需要对集群内组件进行重启操作。
MRS集群内组件支持普通重启与滚动重启两种方式：
- 普通重启：直接并发重启集群内所有服务或实例，可能引起业务中断。
- 滚动重启：在尽可能不中断业务的前提下对相关对象进行的重启操作。与普通重启相比，滚动重启通常不会导致服务业务中断，但是将比普通重启要花费更长的时间，且对应服务的吞吐量、性能等可能会受到影响。为了确保服务重启过程中，尽量减少或者不影响业务运行，可以通过滚动重启来按批次重启服务或实例（对于有主备状态的实例，会先重启备实例，再重启主实例）。 **各组件滚动重启时的业务影响说明如[表2]所示。**
  
![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/warning_3.0-zh-cn.png)
重启集群会导致集群内组件停止对外服务，从而影响上层应用或作业的正常运行，建议在低业务负载时间段进行滚动重启操作。
#### 约束与限制
- MRS集群中部分组件不支持滚动重启，在执行滚动重启集群的过程中，不支持滚动重启的组件仍将以普通重启方式进行重启，可参考[组件重启参考信息](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0628.html#mrs_01_0628__section289834562610)。
- 如果修改了端口类等需要尽快生效的配置（例如服务端的端口），则不建议通过滚动重启的方式使之生效，建议采用普通重启。
 
#### 对系统的影响
**集群滚动重启过程中，各组件滚动重启时的影响说明如[表2]所示。**
#### 重启MRS集群
用户可通过MRS管理控制台直接重启MRS集群，也可登录集群Manager界面后对集群进行重启操作。
- [通过管理控制台重启集群]
  1. 登录[MRS管理控制台](https://console.huaweicloud.com/mrs/)。
  
  2. 选择"现有集群"，单击集群名称进入集群详情页面。
  
  3. 在页面右上角选择"管理操作 \> 滚动重启集群"。 
     图1滚动重启集群   
     ![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0000002184867513.png "点击放大")
     
     
  
  4. 弹出"滚动重启集群"页面，勾选"仅重启配置过期的实例"，单击确定，开始滚动重启集群。
  
  5. 滚动重启任务完成后，单击"完成"。
   
- [通过Manager重启集群]
  1. 登录MRS集群Manager界面。 
     登录集群Manager界面请参考[访问MRS集群Manager](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0128.html)。
     
     
  
  2. 选择"集群 \> 概览 \> 更多 \> 重启"。 
     - MRS 3.3.0及之后版本的Manager界面中，"集群 \> 概览"页面已移除，可直接在"主页"界面的"更多"菜单中执行集群相关维护管理功能。
     
     - 可根据需要选择"重启"或"滚动重启"，滚动重启可以最大程度地降低对业务的影响，但比普通的重启花费的时间更长。
     
     
     
     
  
  3. 输入当前登录的用户密码确认身份，单击"确定"。
  
  4. 如果选择滚动重启，根据实际情况调整相关参数。 
     图2滚动重启   
     ![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0000002184867929.png "点击放大")
     表1滚动重启参数 
     | 参数名称            | 示例   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
     |:---|:---|:---|
     | "只重启集群内配置过期的实例" | -    | 是否只重启集群内修改过配置的实例。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
     | "启用机架策略"        | -    | 是否启用机架并发滚动重启策略，只对满足机架策略滚动重启的角色（角色支持机架感知功能，且角色下的实例归属于2个或2个以上的机架）生效。 该参数仅在滚动重启HDFS、Yarn时可设置。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
     | "数据节点滚动重启并发数"   | 1    | 采用分批并发滚动重启策略的数据节点实例每一个批次重启的实例数，默认为1。 - 该参数仅对同时满足"采用并发滚动策略"和"实例为数据节点"两个条件时才有效。  - 当启用机架策略时，该参数将失效，集群以机架策略默认配置的最大实例数（默认值为20）作为一个机架内分批并发重启的最大实例数。  - 该参数仅在滚动重启HDFS、HBase、Yarn、Kafka、Storm、Flume时可设置。  - HBase的RegionServer滚动重启的并发数不支持手动配置，会根据RegionServer的节点数自行调整，调整规则为：30节点以内，每个批次1个节点；300节点以内，每个批次2个节点；300节点以上(含300节点)，每个批次1%(向下取整)个节点。   |
     | "批次时间间隔"        | 0    | 滚动重启实例批次之间的间隔时间，默认为0。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
     | "退服超时时间"        | 1800 | 角色实例在滚动重启过程中的退服等待时间，默认为1800s。 部分角色（例如HiveServer、JDBCServer）在滚动重启前会暂时停止提供服务，该状态下的实例不可再接入新的客户端连接，而已经存在的连接需要等待一段时间才能完成，配置合适的超时时间参数能尽可能地保证业务不中断。 该参数仅在滚动重启Hive、Spark/Spark2x时可设置。                                                                                                                                                                                                                                                                                                                                                                                                |
     | "批次容错阈值"        | 0    | 滚动重启实例批次执行失败容错次数，默认为0，即表示任意一个批次的实例重启失败后，滚动重启任务终止。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
        
     ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/warning_3.0-zh-cn.png)
     "数据节点滚动重启并发数"、"批次时间间隔"、"批次容错阈值"等高级参数需要根据实际情况合理设置，否则可能导致服务业务中断或者严重影响性能，请谨慎调整。
     例如：
     - "数据节点滚动重启并发数"过大，同时重启多个实例导致服务业务中断或者由于剩余工作实例较少严重影响性能。
     
     - "批次容错阈值"过大，某一批次实例失败后继续重启下一批次实例，导致服务业务中断。
      
     
     
  
  5. 单击"确定"，等待重启完成。
   
#### 参考信息
滚动重启组件实例期间对系统影响如[表2]所示：
 表2滚动重启组件实例期间对系统影响说明 
| 组件名称       | 业务中断说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | 系统受影响的说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|
| ClickHouse | 滚动重启过程中，已经提交的业务如果在超时时间内（默认30分钟）可以执行完成，则无影响。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | 正在执行滚动重启的节点将会拒绝所有新请求（影响单副本业务和on cluster操作，以及直连当前重启实例的业务），正在执行的请求若在超时时间（默认30分钟）内没有执行完会失败。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| DBService  | 滚动重启过程中，业务均正常。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | 滚动重启过程中可能会出现DBService主备节点心跳中断告警。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| Doris      | 需要满足以下条件，滚动重启过程中Doris业务才会不中断： - 业务需要使用ELB或DBalancer连接Doris提交相关任务。  - 业务读写的表必须是多副本（推荐3副本）。  - 已经提交的业务如果在超时时间（默认30分钟）内执行完成，则无影响，否则会失败。                                                                                                                                            | 滚动重启中，总的资源量会下降影响任务最大内存/cpu使用量，极端情况任务会出现资源不足失败，对于运行时间超时（滚动默认30分钟）失败的任务，建议进行重试。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Flink      | 滚动重启过程中，业务均正常。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | 滚动重启过程中，FlinkServer UI将无法访问。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| Flume      | 满足如下条件才能做到业务不中断、数据不丢失： - 需要采用持久化缓存的方式，如使用File Channel。  - 需要配置Flume级联。  - Flume需要客户端Sink支持故障迁移或负载均衡模式。                                                                                                                                                                      | - 非持久化缓存的Channel会造成数据丢失。  - 故障迁移过程会造成短暂性能下降。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| Guardian   | 滚动重启过程中，业务均正常。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | 无                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| HBase      | 滚动重启过程中，HBase的读写业务正常。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | - RegionServer滚动重启期间实时读写业务性能可能下降。  - HMaster滚动重启过程中，除实时读写（不包括BulkLoad）以外的业务都会受影响。 创建表（create） 创建namespace（create_namespace） 禁用表（disable、disable_all） 重建表（truncate、truncate_preserve） 移动region（move） 下线region（unassign） 合并region（merge_region） 分裂region（split） 开启balance（balance_switch） 容灾操作（add_peer、remove_peer、enable_table_replication、disable_peer、show_peer_tableCFs、set_peer_tableCFs、enable_peer、disable_table_replication、set_clusterState_active、set_clusterState_standby） 集群状态查询（status）    |
| HDFS       | - 由于NameNode节点会主备倒换，导致系统在短暂时间内出现无主现象（主备倒换过渡期），可能会出现HDFS服务不可用告警信息，运行的读写任务会报错，但是不会中断业务。  - 滚动重启DataNode可能导致部分正在读写的数据报错，客户端进行重试读写速率受到一定影响。  - 滚动重启ZKFC过程中会导致NameNode主备倒换。  - 滚动重启HDFS时如果启用机架策略，则可能会影响业务正常读写。   | 当为第三方客户端时，滚动重启过程中无法保证第三方客户端可靠性。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| HetuEngine | - HSFabric的实例至少存在2个，且对接使用的HSFabric也至少存在2个，能够支持滚动重启过程中跨域业务不中断。  - HSBroker、HSConsole和QAS滚动重启时，HetuEngine业务不中断。  - 需要保证HetuEngine计算实例中Coordinator和Worker节点都至少为2个才能进行计算实例的滚动重启，计算实例滚动重启不中断业务。                                                                                                                                                 | - HSFabric正在滚动重启的节点会拒绝所有新请求，正在执行的SQL请求若在超时时间（默认30分钟）内没有执行完会失败。  - 滚动重启过程中，在HSConsole页面不能执行运维操作。  - HetuEngine计算实例滚动重启时，性能会下降约20%，SQL执行消耗内存超过配置"query_max_total_memory"的80%时，SQL任务会失败。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| Hive       | 滚动重启过程中，执行时间超过退服超时时间的业务可能失败。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | - 如果当前有执行时间超过滚动重启超时时间的任务，在重启过程中有可能出现任务失败，任务失败后重试即可。  - 滚动重启的节点不再接收新的请求，其他实例节点处理的请求会变多，会占用更多的资源。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Kafka      | 滚动重启过程中，Kafka多副本的Topic读写业务正常，单副本Topic会中断业务。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | - 禁止进行增删改topic、partition信息操作。  - 如果Producer中配置acks=1或者acks=0，滚动重启过程中，若副本的数据在30min内没有同步完成，则会强制重启下一个Broker。对于副本刚好在这两个Broker的双副本的Partition，服务端配置中unclean.leader.election.enable的配置值如果是true，那么可能存在数据丢失风险；如果配置值是false，可能导致该Partition一段时间内没有Leader，直到该Broker启动完成。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| KrbServer  | 滚动重启过程中，业务正常。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | 滚动重启过程中，集群Kerberos认证耗时可能会增加。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| LdapServer | 滚动重启过程中，业务正常。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | 滚动重启过程中，集群Kerberos认证耗时可能会增加。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| Mapreduce  | 无                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | - 滚动重启期间可能无法查看任务日志。  - 单JobHistoryServer实例场景下，停止JobHistoryServer会导致依赖它的其他上层组件全部显示故障。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Ranger     | 滚动重启过程中，业务均正常。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | Ranger的RangerAdmin、RangerKMS、PolicySync实例均为双活配置，滚动重启过程中可轮流对外提供服务，UserSync仅支持一个实例配置，重启过程中无法同步用户。 用户同步周期为五分钟，而UserSync重启时间较短，因此对用户同步的影响较小。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| Spark      | 除列出的几项限制外，其他业务均不受影响。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | - 在HBase进行滚动重启过程中，不能在Spark中创建或删除Spark on HBase表。  - 在HBase执行滚动重启过程中，会进行HMaster的主备倒换，在HMaster主备倒换期间，Spark on HBase功能不可用。  - 如果用户使用了Kafka高级API，则在滚动重启过程中，不能保证Spark读写Kafka不中断，以及数据不丢失。  - ZooKeeper滚动重启过程中，启动spark-beeline会失败。  - Yarn滚动重启过程中，Spark任务可能造成task级别、stage级别、application级别的重试。  - Spark的JDBCServer滚动重启时，如果有长时间运行的任务，会将任务终止。                                                                                                                                                                                                                                                                                                                                                                              |
| Yarn       | - 滚动升级过程中，由于ResourceManager节点会切主，运行任务会报错，但是不会中断业务。  - NodeManager滚动重启过程中，提交到该节点的Container可能会重试到其他节点。                                                                                                                                                                                                                                                                                                                                                      | - Yarn滚动重启过程中，在Yarn上运行的任务可能会因为重试次数过多导致业务异常。  - 新提交作业AM刚启动瞬间对应的NodeManager滚动重启场景，任务会概率性失败。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ZooKeeper  | 滚动重启过程中，ZooKeeper的读写业务正常。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | - ZooKeeper滚动重启会影响ClickHouse业务，实例重启期间会导致ClickHouse表只读，每个quorumpeer实例影响约10秒。  - ZooKeeper滚动重启会导致Loader HA中ZooKeeper断连，Loader会自行尝试重试3次，每次10秒，如果依旧无法连接ZooKeeper，主LoaderServer会降备，然后重新选主。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   
