更新时间:2024-10-28 GMT+08:00

创建HetuEngine计算实例

本章节指导用户新创建HetuEngine计算实例。计算实例创建成功后,停止集群前需手动停止计算实例;重启集群后,要使用集群中的计算实例,需要手动启动计算实例。

单个租户可以创建多个计算实例,多个计算实例负载均衡,可以提高性能及容错能力(MRS 3.3.0及以后版本)。

创建HetuEngine计算实例前提条件

  • 已创建用于访问HetuEngine WebUI界面的用户,如hetu_user,用户创建具体操作请参见创建HetuEngine权限角色
  • 已在待操作集群创建所需租户。请确保修改HetuEngine计算实例配置时,对应的租户有足够的内存和CPU资源。
    • 创建HetuEngine计算实例时必须使用“叶子租户”类型的租户,只有叶子租户的队列才能提交Yarn任务。
    • 为了避免资源竞争带来的不确定性因素,建议为HetuEngine使用的租户创建独立资源池。

创建HetuEngine计算实例步骤

  1. 使用hetu_user登录FusionInsight Manager,选择“集群 > 服务 > HetuEngine”,进入HetuEngine服务页面。
  2. 在概览页签下的“基本信息”区域单击“HSConsole WebUI”后的链接,进入HSConsole界面。
  3. 选择“计算实例 > 创建配置”,参考如下配置计算实例。

    1. 配置“基本配置”,参数配置请参考表1
      表1 基本配置说明

      参数

      描述

      取值样例

      所属租户

      实例所属租户,新建计算实例只能选择无计算实例的租户。

      在“所属租户”下拉列表中选取。

      实例部署超时时间(秒)

      通过Yarn Service部署启动计算实例的超时时间。从启动计算实例开始计时,当超过该时间后,如果计算实例仍在“创建中”或“启动中”,则该计算实例状态会显示为“错误”,同时会停止Yarn上正在创建或启动中的计算实例。

      300

      取值范围:1~2147483647

      实例数量

      在当前所属租户下创建的计算实例个数。

      可根据实际需要配置多个计算实例,多个计算实例可自动负载均衡,实现并发度水平扩展。

      须知:

      配置多个计算实例时:

      • 需确保集群资源充足。单租户多实例需要的资源为单实例资源*实例个数(每个计算实例的规格一致,不支持差异化配置)。
      • 需使用短连接方式,并以HSFabric模式连接HetuEngine,该模式支持更优的负载均衡调度能力。

      1

      取值范围:1-50

    2. 配置“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的参数取值。

      -

    3. 配置“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
      表4 高级配置参数说明

      参数

      描述

      取值样例

      查询内存占比

      节点查询内存占jvm内存的比例,默认值0.7。当参数等于0时计算功能关闭,且JVM配置中-Xmx值需满足大于或者等于Coordinator或者Worker配置的memory.heap-headroom-per-node与query.max-memory-per-node之和。

      0.7

      是否开启动态伸缩

      若开启动态伸缩,可以在不重启实例的情况下,增加或者减少Worker数量;开启后可能会影响实例性能。多实例模式下,无法开启动态伸缩功能。开启动态伸缩参数介绍见配置HetuEngine Worker节点数量章节。

      -

      是否开启维护实例

      如果要启动物化视图的自动刷新能力,必须存在一个被设置为维护实例的计算实例,且全局唯一。存在多个计算实例时,仅有一个计算实例用作维护实例。

      -

    5. 配置“自定义配置”参数。用户可以添加自定义参数到指定的参数文件中。单击“参数文件”下拉列表选择指定的参数文件:
      • 单击“增加”可以增加自定义配置参数。
      • 单击“删除”可以删除已增加的自定义配置参数。
      • 可通过选择“参数文件”为“resource-groups.json”来配置资源组机制,资源组配置参数请参考表5,详细说明请参考配置HetuEngine资源组
        表5 资源组配置参数说明

        参数

        描述

        取值样例

        resourcegroups

        集群的资源管理组配置,参数文件下拉列表要选择“resource-groups.json”

        {
        "rootGroups": [{
        "name": "global",
        "softMemoryLimit": "100%",
        "hardConcurrencyLimit": 1000,
        "maxQueued": 10000,
        "killPolicy": "no_kill"
        }],
        "selectors": [{
        "group": "global"
        }]
        }
      • 对于“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%以内,则内存使用量大的查询被终止。
    6. 确定配置完成后是否立即启动实例:
      • 是,配置完成后立即启动实例。
      • 否,配置完成后需手动启动实例。

  4. 单击“确定”,等待实例配置完成。

计算实例维护操作注意事项

  • 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配置不一样或者数量不一样的情况,计算实例的亚健康状态不会自动恢复,需要手动检查确认和恢复,或者再次执行滚动重启操作,或者执行停止计算实例再启动操作。

计算实例状态说明

计算实例创建成功后,可在“计算实例”页签查看当前已创建的实例信息,包括实例所属租户名、对应实例数量、实例状态和资源总量等,实例状态信息如下:

图1 计算实例状态
  • 绿色图标:实例处于运行中或亚健康状态。
  • 红色图标:实例故障。
  • 灰色图标:实例已停止、待启动。
  • 蓝色图标:实例处于其他状态,包括扩容中、缩容中、滚动重启中、创建中、启动中、安全启动中、停止中、安全停机中、删除中、已删除、停止中等。