
# 调整HetuEngine集群节点资源配置
#### 操作场景
HetuEngine默认的内存大小参数和硬盘溢出路径参数并非最佳，需要根据实际业务和集群的服务器配置情况调整集群节点资源配置，以获得最佳的性能效果。
#### 调整HetuEngine集群节点资源步骤
1. 登录MRS集群Manager页面。 
   登录集群Manager具体操作，请参考[访问MRS集群Manager](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0128.html)。
   
   
2. 选择"集群 \> 服务 \> HetuEngine \> 配置 \> 全部配置"，参考[表1]调整集群节点资源配置参数。
   
    表1集群节点资源配置参数 
   | 参数名称                                                    | 默认值                                                      | 建议值                                                     | 参数解释                          | 参数文件                                                   |
   |:---|:---|:---|:---|:---|
   | yarn.hetuserver.engine.coordinator.memory               | 5120                                                     | 比"yarn.scheduler.maximum-allocation-mb"至少少2GB。          | 单个Coordinator节点使用的内存大小。       | application.properties                                 |
   | yarn.hetuserver.engine.coordinator.number-of-containers | 2                                                        | 2                                                       | Coordinator节点数量。              | application.properties                                 |
   | yarn.hetuserver.engine.coordinator.number-of-cpus       | 1                                                        | 比"yarn.scheduler.maximum-allocation-vcores"至少少2个vCores。 | 单个Coordinator节点使用的CPU vCores。 | application.properties                                 |
   | yarn.hetuserver.engine.worker.memory                    | 10240                                                    | 比"yarn.scheduler.maximum-allocation-mb"至少少2GB。          | 单个Worker节点使用的内存大小。            | application.properties                                 |
   | yarn.hetuserver.engine.worker.number-of-containers      | 2                                                        | 根据具体业务调整。                                               | Worker节点数量。                   | application.properties                                 |
   | yarn.hetuserver.engine.worker.number-of-cpus            | 1                                                        | 比"yarn.scheduler.maximum-allocation-vcores"至少少2个vCores。 | 单个Worker节点使用的CPU vCores。      | application.properties                                 |
   | extraJavaOptions参数中的Xmx大小                               | 8GB                                                      | *单个Worker节点使用的内存大小* \* 0.8。                             | Worker JVM进程最大可用内存。           | worker.jvm.config                                      |
   | query.max-memory-per-node                               | 5GB                                                      | Worker JVM \* 0.7。                                      | Query单节点最大可用内存。               | worker.config.properties                               |
   | query.max-total-memory-per-node                         | 5GB                                                      | Worker JVM \* 0.7。                                      | Query + System单节点最大可用内存。      | worker.config.properties                               |
   | memory.heap-headroom-per-node                           | 3GB                                                      | Worker JVM \* 0.3。                                      | 系统堆单节点最大可用内存。                 | worker.config.properties                               |
   | extraJavaOptions参数中的Xmx大小                               | 4GB                                                      | *单个Coordinator* *节点使用的内存大小* \* 0.8。                     | Coordinator JVM进程最大可用内存。      | coordinator.jvm.config                                 |
   | query.max-memory-per-node                               | 3GB                                                      | Coordinator JVM \* 0.7。                                 | 节点查询可使用的用户内存最大值。              | coordinator.config.properties                          |
   | query.max-total-memory-per-node                         | 3GB                                                      | Coordinator JVM \* 0.7。                                 | Query + System单节点最大可用内存。      | coordinator.config.properties                          |
   | memory.heap-headroom-per-node                           | 1GB                                                      | Coordinator JVM \* 0.3。                                 | 系统堆单节点最大可用内存。                 | coordinator.config.properties                          |
   | query.max-memory                                        | 7GB                                                      | Sum(query.max-memory-per-node) \* 0.7。                  | Query集群最大可用内存。                | worker.config.properties/coordinator.config.properties |
   | spiller-spill-path                                      | CONTAINER_ROOT_PATH/tmp/hetuserver/hetuserver-sqlengine/ | 一块或多块独立的SSD硬盘。                                          | 磁盘吐出文件路径。                     | worker.config.properties/coordinator.config.properties |
   | max-spill-per-node                                      | 10GB                                                     | Sum(每个节点可用空间) \* 50%。                                   | 所有查询在单节点上磁盘吐出文件可用空间。          | worker.config.properties/coordinator.config.properties |
   | query-max-spill-per-node                                | 10GB                                                     | 节点可用硬盘空间的80%。                                           | 单个查询在单节点上磁盘吐出文件可用空间。          | worker.config.properties/coordinator.config.properties |
      
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
   HetuEngine使用JDK 17运行时，默认关闭偏向锁特性(BiasedLocking)，在大数据场景开启偏向锁特性可提升查询性能，建议在"coordinator.jvm.config"和"worker.jvm.config"参数文件的"extraJavaOptions"参数中添加"-XX:+UseBiasedLocking"开启偏向锁特性。
   
   
3. 单击"保存"，保存配置。
4. 选择"集群 \> 服务 \> HetuEngine \> 更多 \> 重启服务"，重启HetuEngine服务让参数生效。
5. 若存在"运行中"状态的计算实例需重启HetuEngine计算实例。 
   1. 使用HetuEngine管理员用户登录Manager，选择"集群 \> 服务 \> HetuEngine"，进入HetuEngine服务页面。
   
   2. 在"概览"页签下的"基本信息"区域，单击"HSConsole WebUI"后的链接，进入HSConsole界面。
   
   3. 单击"计算实例"，勾选待操作实例，单击"重启"，根据界面提示重启HetuEngine计算实例。
   
   
   
   
 
