创建HetuEngine计算实例
操作场景
本章节指导用户新创建HetuEngine计算实例。计算实例创建成功后,停止集群前需手动停止计算实例;重启集群后,要使用集群中的计算实例,需要手动启动计算实例。
单个租户可以创建多个计算实例,多个计算实例负载均衡,可以提高性能及容错能力。
前提条件
- 已创建用于访问HetuEngine WebUI界面的用户,如hetu_user,用户创建具体操作请参见创建HetuEngine用户。
- 已在待操作集群创建所需租户。请确保修改HetuEngine计算实例配置时,对应的租户有足够的内存和CPU资源。
- 创建HetuEngine计算实例时必须使用“叶子租户”类型的租户,只有叶子租户的队列才能提交Yarn任务。
- 为了避免资源竞争带来的不确定性因素,建议为HetuEngine使用的租户创建独立资源池。
- HetuEngine计算实例启动依赖Python3,需确保集群所有节点已安装Python3,并在“/usr/bin/”目录下添加Python软连接,可参考如何处理计算实例启动失败报错Python不存在。
- HetuEngine服务处于正常运行状态。
操作步骤
- 使用hetu_user登录FusionInsight Manager,选择“集群 > 服务 > HetuEngine”,进入HetuEngine服务页面。
- 在概览页签下的“基本信息”区域单击“HSConsole WebUI”后的链接,进入HSConsole界面。
- 选择“计算实例 > 创建配置”,参考如下配置计算实例。
- 配置“基本配置”,参数配置请参考表1。
- 配置“Coordinator容器资源配置”,参数配置请参考表2。
表2 Coordinator容器资源配置参数说明 参数
描述
取值样例
容器内存(MB)
Yarn分配给计算实例Coordinator的单个Container的内存大小,单位:MB。
默认值:5120
取值范围:1~2147483647
vcore
Yarn分配给计算实例Coordinator的单个Container的CPU(vcore)数量。
默认值:1
取值范围:1~2147483647
数量
Yarn分配给计算实例Coordinator的Container的数量。
默认值:2
取值范围:1~3
JVM
登录FusionInsight Manager,选择“集群 > 服务 > HetuEngine > 配置”,在“全部配置”页签搜索“extraJavaOptions”,属于“coordinator.jvm.config”参数文件内该参数的值即为JVM的参数取值。
-
- 配置“Worker容器资源配置”,参数配置请参考表3。
表3 Worker容器资源配置参数说明 参数
描述
取值样例
容器内存(MB)
Yarn分配给计算实例Worker的单个Container的内存大小,单位:MB。
默认值:10240
取值范围:1~2147483647
vcore
Yarn分配给计算实例Worker的单个Container的CPU(vCore)数量。
默认值:1
取值范围:1~2147483647
数量
Yarn分配给计算实例Worker的Container的数量。
默认值:2
取值范围:1~256
JVM
登录FusionInsight Manager,选择“集群 > 服务 > HetuEngine > 配置”,在“全部配置”页签搜索“extraJavaOptions”,属于“worker.jvm.config”参数文件内该参数的值即为JVM的参数取值。
-
- 配置“高级配置”参数,参数配置请参考表4。
表4 高级配置参数说明 参数
描述
取值样例
查询内存占比
节点查询内存占jvm内存的比例,默认值0.7。当参数等于0时计算功能关闭,且JVM配置中-Xmx值需满足大于或者等于Coordinator或者Worker配置的memory.heap-headroom-per-node与query.max-memory-per-node之和。
0.7
是否开启动态伸缩
若开启动态伸缩,可以在不重启实例的情况下,增加或者减少Worker数量;开启后可能会影响实例性能。多实例模式下,无法开启动态伸缩功能。开启动态伸缩参数介绍见配置Worker节点数量章节。
-
是否开启维护实例
如果要启动物化视图的自动刷新能力,必须存在一个被设置为维护实例的计算实例,且全局唯一。存在多个计算实例时,仅有一个计算实例用作维护实例。
-
- 配置“自定义配置”参数。用户可以添加自定义参数到指定的参数文件中。单击“参数文件”下拉列表选择指定的参数文件:
- 单击“增加”可以增加自定义配置参数。
- 单击“删除”可以删除已增加的自定义配置参数。
- 可通过选择“参数文件”为“resource-groups.json”来配置资源组机制,资源组配置参数请参考表5,详细说明请参考配置资源组。
- 对于“coordinator.config.properties”、“worker.config.properties”、“log.properties”和“resource-groups.json”参数文件,用户配置自定义参数后,如果该自定义参数名称在指定的参数文件中已经存在,那么会使用自定义参数值替换参数文件中原有参数的值。如果不存在,则添加自定义参数到指定的参数文件中。
- killPolicy:当查询提交给Worker后,如果总内存使用量超过softMemoryLimit,可选择一种策略终止正在运行的查询,策略如下所示。
- no_kill(默认值):不终止查询。
- recent_queries:根据执行顺序的倒序终止查询。
- oldest_queries:根据执行顺序终止查询。
- finish_percentage_queries:根据查询执行百分比终止查询。执行百分比最小的查询将首先被终止。
- high_memory_queries:根据内存使用量终止查询。具有较高内存使用量的查询将首先被终止,以便在查询终止次数最少的情况下,释放更多内存。当两个查询的内存使用量都在限制的10%以内,则进度慢(执行的百分比)的查询被终止,同时两个查询在完成百分比方面的差异在5%以内,则内存使用量大的查询被终止。
- 确定配置完成后是否立即启动实例:
- 是,配置完成后立即启动实例。
- 否,配置完成后需手动启动实例。
- 单击“确定”,等待实例配置完成。
计算实例维护操作注意事项
- 当HetuEngine服务处于重启或者滚动重启过程中,请勿通过HSConsole对HetuEngine计算实例进行“创建”、“启动”、“停止”和“删除”等运维操作。
- 同时处于启动中、创建中、删除中、停止中、扩容中、缩容中或滚动重启中等状态的计算实例个数默认最多为10个,超过10个的计算实例运维操作会在后台进入等待状态。若需要修改并发处理个数,可在Manager界面,选择“HetuEngine > 配置 > 全部配置”,搜索并调整参数“hsbroker.event.task.executor.threads”的值。
- HetuEngine计算实例重启注意事项
- 当HetuEngine计算实例处于重启或者滚动重启过程中,请勿对HetuEngine服务和HetuEngine WebUI界面的数据源进行变更操作,包括修改配置,重启等操作。
- 如果计算实例只有1个Coordinator或者Worker,请勿对计算实例进行滚动重启。
- 如果Worker的数量大于10个,实例滚动重启的时间可能会超过200分钟,期间请勿做其他运维操作。
- 计算实例滚动重启过程HetuEngine会释放Yarn资源并且重新申请,请保证滚动重启过程中Yarn资源的CPU和内存空闲资源足够启动Worker总数量20%的Worker,及该期间Yarn资源不被其他任务抢占,否则会导致实例滚动重启失败。
Yarn资源:登录FusionInsight Manager,选择“租户资源 > 租户资源管理” ,在“资源配额”中查看队列的空余资源信息。
单个Worker的CPU和内存资源:使用用于访问HetuEngine WebUI界面的用户登录FusionInsight Manager,选择“集群 > 服务 > HetuEngine”,在概览页签下的“基本信息”区域单击“HSConsole WebUI”后的链接,进入HSConsole界面,单击对应实例所在行“操作”列中的“配置”,在“Worker容器资源配置”中查看容器内存和vcore。
- 滚动重启过程中,请保证Yarn队列的Coordinator或者Worker的Application Manager(am)运行平稳。
- HetuEngine计算实例重启异常处理
- 如果滚动重启期间Yarn队列的Coordinator或者Worker的Application Manager(am)发生重启,可能会导致计算实例发生异常,需要停止计算实例,然后启动计算实例进行恢复。
- 计算实例滚动重启失败后,实例处于亚健康的状态,可能会有Coordinator或者Worker配置不一样或者数量不一样的情况,计算实例的亚健康状态不会自动恢复,需要手动检查确认和恢复,或者再次执行滚动重启操作,或者执行停止计算实例再启动操作。
计算实例状态说明
计算实例创建成功后,可在“计算实例”页签查看当前已创建的实例信息,包括实例所属租户名、对应实例数量、实例状态和资源总量等,实例状态信息如下:
- 绿色图标:实例处于运行中或亚健康状态。
- 红色图标:实例故障。
- 灰色图标:实例已停止、待启动。
- 蓝色图标:实例处于其他状态,包括扩容中、缩容中、滚动重启中、创建中、启动中、安全启动中、停止中、安全停机中、删除中、已删除、停止中等。