更新时间:2022-12-14 GMT+08:00

调整集群节点资源配置

操作场景

HetuEngine默认的内存大小参数和硬盘溢出路径参数默认并非最佳,需要根据实际业务和集群的服务器配置情况调整集群节点资源配置,以获得最佳的性能效果。

操作步骤

  1. 登录FusionInsight Manager页面。
  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

    Max (单个Worker节点使用的内存大小 – 30GB, 单个Worker节点使用的内存大小 * 0.7)。

    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

    Max (单个Coordinator节点使用的内存大小 – 30GB, 单个Coordinator节点使用的内存大小 * 0.7)。

    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

    experimental.spiller-spill-path

    CONTAINER_ROOT_PATH/tmp/hetuserver/hetuserver-sqlengine/

    一块或多块独立的SSD硬盘。

    磁盘吐出文件路径。

    worker.config.properties/coordinator.config.properties

    experimental.max-spill-per-node

    10GB

    Sum(每个节点可用空间) * 50%。

    所有查询在单节点上磁盘吐出文件可用空间。

    worker.config.properties/coordinator.config.properties

    experimental.query-max-spill-per-node

    10GB

    节点可用硬盘空间的80%。

    单个查询在单节点上磁盘吐出文件可用空间。

    worker.config.properties/coordinator.config.properties

  3. 单击“保存”,保存配置。
  4. 选择“集群 > 服务 > HetuEngine > 更多 > 重启服务”,重启HetuEngine服务让参数生效。