调整集群节点资源配置
操作场景
HetuEngine默认的内存大小参数和硬盘溢出路径参数默认并非最佳,需要根据实际业务和集群的服务器配置情况调整集群节点资源配置,以获得最佳的性能效果。
操作步骤
- 登录FusionInsight Manager页面。
- 选择“集群 > 服务 > 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
- 单击“保存”,保存配置。
- 选择“集群 > 服务 > HetuEngine > 更多 > 重启服务”,重启HetuEngine服务让参数生效。