手把手带你玩转HetuEngine:资源规划与数据源对接

手把手,玩转,hetuengine,资源,规划,数据源,对接 · 浏览次数 : 28

小编点评

**HetuEngine角色实例资源规划** **一、HetuEngine角色实例资源规划** HetuEngine支持在服务层角色实例和计算实例两个维度进行资源规划。 **角色实例资源规划** * 服务层角色实例包括:HSBroker、HSConsole、HSFabric、QAS。 **计算实例资源规划** * 计算实例是一个运行在Yarn容器内的基于内存的计算引擎,通常包含1~2个Coordinator和N个worker。 **高并发场景下计算实例的配置** * 支持单租户多计算实例的形态。 * yarn.scheduler.maximum-allocation-mb配置参数用于设置计算实例的内存限制。 * 建议设置 yarn.scheduler.maximum-allocation-mb 为节点物理内存的90%。 **队列资源规划配置示例** * 可根据业务数据量大致估算计算实例worker的大小和数量。 * 在yarn服务级别进行修改计算实例内存调整。 **数据源对接** * 支持跨源快速联合查询,包括Hive、HBase、GaussDB(DWS)、Elasticsearch、ClickHouse等。 **数据源动态生效** * 支持数据源下推多数据源对接。 * 可设置动态生效时间以调整数据源查询的性能。 **其他** * 不同业务可通过不同方式部署计算实例,例如单租户单实例模式和单租户多实例模式。 * 高并发场景下建议启动多个计算实例进行负载分担。

正文

本文分享自华为云社区《【手把手带你玩转HetuEngine】(三)HetuEngine资源规划》,作者: HetuEngine九级代言 。

HetuEngine支持在服务层角色实例和计算实例两个维度进行资源规划,并且支持在高并发场景下通过启动多个计算实例进行负载分担和均衡,从而满足各种业务场景下的资源规划需求。

一、HetuEngine角色实例资源规划

HetuEngine能够通过服务层对计算实例进行服务化管理,服务层的角色实例包括HSBroker、HSConsole、HSFabric、QAS。

 

可以通过HetuEngine服务层配置对实例参数进行调整,如下图所示。

 

计算实例资源规划

HetuEngine的计算实例是一个运行在Yarn容器内的基于内存的计算引擎,它一般包含1~2个Coordinator和N个worker,其中Coordinator是管理节点,提供SQL接收、SQL解析、生成执行计划、执行计划优化、分派任务和资源调度等能力,如果需要计算实例支持高可用,必须部署两个Coordinator。Worker是工作节点,提供数据源数据并行拉取,分布式SQL计算等能力。从8.2.1版本开始,HetuEngine支持单租户多计算实例的形态。

Yarn的租户队列、HetuEngine计算实例、计算实例的Coordinator 和 Worker 之间的关系如下图所示:

Yarn资源池分配示意图(AM为Yarn的应用管理器)

HetuEngine支持在HSConsole界面对计算实例进行管理,并且能够对每个计算实例进行差异化配置,如下图所示

并且支持在创建计算实例的时候添加计算实例级别的自定义参数配置:

HetuEngine计算实例选型与内存配置建议

HetuEngine的计算实例作为SQL查询引擎,是一个纯内存的计算引擎。因此,从性能的角度考虑,需要给计算实例尽可能多的内存资源。

由于HetuEngine的计算实例是onYarn模式,Coordinator和Worker都是运行在Yarn的NodeManager节点上的。

coordinator & worker资源配置推荐

Coordinator建议部署的节点为2个,Worker按实际资源情况部署。

• Coordaintor和Worker的内存值配置要求为:

1. 要求yarn.scheduler.maximum-allocation-mb > coordaintor/worker容器内存 > JVM内存。

2. 建议yarn.scheduler.maximum-allocation-mb内存为节点物理内存的90%,coordaintor/worker容器内存比yarn.scheduler.maximum-allocation-mb,JVM内存 为coordaintor/worker容器内存比大小的80%。

3. 建议一个节点启动一个conatiner的形式部署,避免产生内存碎片从未造成资源浪费。

4. coordaintor和worker+AM所用到的内存资源不能超出该租户的可使用最大内存资源。

• Coordaintor和Worker的CPU值配置要求为:

1. yarn.scheduler.maximum-allocation-vcores 大于coordaintor和worker的vcore。

2. 建议coordaintor和worker的vcore的值比yarn.scheduler.maximum-allocation-vcores的值少2~10个。

3. coordaintor和worker+AM所用到的core资源不能超出该租户的可使用最大core资源。

队列资源规划配置示例

计算实例规模估算

根据业务数据量大致估算计算实例worker的大小和数量

Yarn参数、计算实例内存配置

  • Yarn参数调整

调整yarn上container最大核数和最大内存相关参数以满足计算实例估算规模大小要求,在yarn服务级别进行修改

  • 计算实例内存调整

HetuEngine的配置(建议CN和Worker配置保持一致):具体修改点如下图所示,在HSConsole页面,选择计算实例,点击"配置",即可在弹出窗口按下图修改:

3. 高并发下多实例配置推荐

单HetuEngine计算实例的并发建议低于50,高并发场景下建议启动多个计算实例进行负载分担避免性能明显下降。HetuEngine支持两种方式启动多计算实例,一是单租户单实例的模式,二是单租户多实例的模式。

 

方式1: 单租户单实例的部署模式。

可将资源分成多个资源池,每个租户独占一个资源池,每个租户启动一个计算实例的方式进行部署。例如将资源分成default、online、offline 3个资源池,分别给default、online、offline三个租户使用,每个租户启动一个计算实例,不同的业务将提交到不同的资源队列:

 

方式2:单租户多实例的部署模式。

320版本后,HetuEngine支持通过配置在单个租户内启动多个计算实例,如下图所示,不同的业务都提交到同一租户中的队列,HetuEngine能够自动实现单租户内的各个计算实例均衡负载。

二、HetuEngine数据源对接

HetuEngine能够支持跨源(多种数据源,如Hive,HBase,GaussDB(DWS),Elasticsearch,ClickHouse等),跨域(多个地域或数据中心)的快速联合查询,尤其适用于Hadoop集群(FusionInsight MRS)的Hive、Hudi数据的交互式快速查询场景。本章将对HetuEngine的数据源对接能力与操作实践进行介绍。

数据源对接概述

当前HetuEngine数据源对接支持以下几种能力:

1.支持对接Hive、HBase、GaussDB(DWS),Elasticsearch,ClickHouse、Hudi、IoTDB等多种数据源,并支持对接跨域HetuEngine

2.支持多种数据源的快速联合查询并提供可视化的数据源配置、管理页面,用户可通过HSConsole界面快速添加数据源,并进行差异化配置

3.数据源动态生效,无需重启计算实例

4.支持数据源下推

多数据源对接

当前版本HetuEngine支持对接的数据源如表1所示

可视化数据源管理界面

HetuEngine能够支持多种数据源的快速联合查询并提供可视化的数据源配置、管理页面,用户可通过HSConsole界面快速添加数据源,并进行差异化配置。操作示例如下图所示

可以通过最下方“自定义配置”添加相应数据源的自定义配置

数据源动态生效

在HSConsole界面或者使用HSConsole Rest API对数据源的添加、配置、删除等操作支持动态生效,无须重启计算实例。

数据源动态生效时间默认为60秒。如需修改动态生效时间,在计算实例自定义配置添加如下参数,例如:

catalog.scanner-interval =120s

数据源计算下推

HetuEngine支持查询下推(pushdown),它能把查询,或者部分查询,下推到连接的数据源。这意味着特殊的谓词,聚合函数或者其它一些操作,可以被传递到底层数据库或者文件系统进行处理。查询下推能带来以下好处:

  1. 提升整体的查询性能。

  2. 减少HetuEngine和数据源之间的网络流量。

  3. 减少远端数据源的负载。

HetuEngine对查询下推的具体支持情况,依赖于具体的Connector,以及Connector相关的底层数据源或存储系统。

 

点击关注,第一时间了解华为云新鲜技术~

与手把手带你玩转HetuEngine:资源规划与数据源对接相似的内容:

手把手带你玩转HetuEngine:资源规划与数据源对接

本篇文章将手把手带你进行资源规划和数据源对接,开启玩转HetuEngine。

云小课|云小课带你玩转可视化分析ELB日志

阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说)、深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云。更多精彩内容请单击此处。 云日志服务支持可视化查看日志,当ELB日志接入云日志服务后,可通过SQL语句查询分析日志,将日志结果保存为多种图表,并将图表

手把手教你玩转 Excel 数据透视表

本文由葡萄城技术团队于博客园原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 1. 什么是数据透视表 数据透视表是一种可以快速汇总、分析大量数据表格的交互式分析工具。使用数据透视表可以按照数据表格的不同字段从多个角度进行透视,并建立交叉表格,用以

看看Angular有啥新玩法!手把手教你在Angular15中集成Excel报表插件

> 摘要:本文由葡萄城技术团队于博客园原创并首发。葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 # Angular15新特性 Angular框架(以下简称“Angular”)作为一款由谷歌开发的Web应用程序框架,其强大的依赖注入系统、可重复使用的模块化开发理念和响应式编程模式等特

手把手带你使用JWT实现单点登录

JWT(英文全名:JSON Web Token)是目前最流行的跨域身份验证解决方案之一,今天我们一起来揭开它神秘的面纱! 一、故事起源 说起 JWT,我们先来谈一谈基于传统session认证的方案以及瓶颈。 传统session交互流程,如下图: 当浏览器向服务器发送登录请求时,验证通过之后,会将用户

手把手带你搞定用户权限控制

在实际的软件项目开发过程中,用户权限控制可以说是所有运营系统中必不可少的一个重点功能,根据业务的复杂度,设计的时候可深可浅,但无论怎么变化,设计的思路基本都是围绕着用户、角色、菜单这三个部分展开。 如何设计一套可以精确到按钮级别的用户权限功能呢? 今天通过这篇文章一起来了解一下相关的实现逻辑,不多说

手把手带你开发starter,点对点带你讲解原理

在2012 年 10 月,一个叫 Mike Youngstrom 的人在 Spring Jira 中创建了一个功能请求,要求在 Spring Framework 中支持无容器 Web 应用程序体系结构,提出了在主容器引导 Spring 容器内配置 Web 容器服务;这件事情对 SpringBoot 的诞生应该说是起到了一定的推动作用。 所以SpringBoot 设计的目标就是简化繁琐配置,快速建

手把手带你通过API创建一个loT边缘应用

摘要:使用API Arts&API Explorer调用IoT边缘服务接口创建应用,了解边缘计算在物联网行业的应用。 本文分享自华为云社区《使用API Arts&API Explorer调用IoT边缘服务接口创建应用》,作者:华为IoT云服务。 开始体验前需注册华为云账号并完成实名认证,实验过程中请

【Playwright+Python】手把手带你写一个自动化测试脚本

​ 如何使用代理方式打开网页 在 playwright.chromium.launch() 中传入 proxy 参数即可,示例代码如下: 1、同步写法: 1 from playwright.sync_api import sync_playwright 2 3 proxy = {'server': 

AI实战 | 手把手带你打造校园生活助手

在文章中,我展示了手把手的教程和小雨校园生活助手的功能。我强调了插件开发的重要性,以及数据库和变量的使用。工作流的使用也得到了详细解释,包括节假日信息整合和课程查询。最后,我分享了我的开场白生成方法,强调了前期调试的重要性。通过这篇文章,希望大家能够更深入地了解扣子助手的功能和实现方式。我将继续努力...