Updated on 2024-11-29 GMT+08:00

Adjusting Cluster Node Resource Configurations

Scenario

The default memory size and disk overflow path of HetuEngine are not the best. You need to adjust node resources in the cluster based on the actual service and server configuration of the cluster to achieve the optimal performance.

Procedure

  1. Log in to FusionInsight Manager.
  2. Choose Cluster > Services > HetuEngine > Configurations > All Configurations and adjust the cluster node resource parameters by referring to Table 1.

    Table 1 Parameters for configuring cluster node resources

    Parameter

    Default Value

    Recommended Value

    Description

    Parameter File

    yarn.hetuserver.engine.coordinator.memory

    5120

    At least 2 GB less than that of yarn.scheduler.maximum-allocation-mb

    Memory size used by a Coordinator node

    application.properties

    yarn.hetuserver.engine.coordinator.number-of-containers

    2

    2

    Number of Coordinator nodes

    application.properties

    yarn.hetuserver.engine.coordinator.number-of-cpus

    1

    At least two vCores less than yarn.scheduler.maximum-allocation-vcores

    CPU vCores used by a Coordinator node

    application.properties

    yarn.hetuserver.engine.worker.memory

    10240

    At least 2 GB less than that of yarn.scheduler.maximum-allocation-mb

    Memory size used by a worker node

    application.properties

    yarn.hetuserver.engine.worker.number-of-containers

    2

    Adjusted based on application requirements

    Number of worker nodes

    application.properties

    yarn.hetuserver.engine.worker.number-of-cpus

    1

    At least two vCores less than yarn.scheduler.maximum-allocation-vcores

    CPU vCores used by a Worker node

    application.properties

    Xmx size in the extraJavaOptions parameter

    8 GB

    Memory size used by a worker node x 0.8

    Maximum available memory of the worker JVM process

    worker.jvm.config

    query.max-memory-per-node

    5 GB

    Worker JVM x 0.7

    Maximum available memory of a Query node

    worker.config.properties

    query.max-total-memory-per-node

    5 GB

    Worker JVM x 0.7

    Maximum available memory of a Query + System node

    worker.config.properties

    memory.heap-headroom-per-node

    3 GB

    Worker JVM x 0.3

    Maximum available memory of a system heap node

    worker.config.properties

    Xmx size in the extraJavaOptions parameter

    4 GB

    Memory size used by a Coordinator node x 0.8

    Maximum available memory of the Coordinator JVM process

    coordinator.jvm.config

    query.max-memory-per-node

    3 GB

    Coordinator JVM x 0.7

    Maximum memory that can be used for node query

    coordinator.config.properties

    query.max-total-memory-per-node

    3 GB

    Coordinator JVM x 0.7

    Maximum available memory of a Query + System node

    coordinator.config.properties

    memory.heap-headroom-per-node

    1 GB

    Coordinator JVM x 0.3

    Maximum available memory of a system heap node

    coordinator.config.properties

    query.max-memory

    7 GB

    Sum(query.max-memory-per-node) x 0.7

    Maximum available memory of a Query cluster

    worker.config.properties/coordinator.config.properties

    spiller-spill-path

    CONTAINER_ROOT_PATH/tmp/hetuserver/hetuserver-sqlengine/

    One or more independent SSDs

    Disk output file path

    worker.config.properties/coordinator.config.properties

    max-spill-per-node

    10 GB

    Sum(Available space of each node) x 50%

    Available disk space for storing output files of all queries on a node

    worker.config.properties/coordinator.config.properties

    query-max-spill-per-node

    10 GB

    80% of the available disk space on a node

    Available disk space for storing output files of a query on a node

    worker.config.properties/coordinator.config.properties

  3. Click Save.
  4. Choose Cluster > Services > HetuEngine > More > Restart Service to restart the HetuEngine service for the parameters to take effect.