摘要:在整合开源功能的同时,Hetuengine夫人也与开源社区相比进行了大量优化。重要特征之一是纱线。
Hetuengine是华为中的高性能分布式SQL查询和数据虚拟化引擎。与大数据生态学无序集成,以实现大量数据第二级查询;支持多边形异质的合作,以便对数据湖进行SQL融合分析。尽管整合开源能力,但Hetuengine夫人也与开源社区相比进行了大量优化。重要特征之一是在纱线上。本文介绍了Hetuengine在纱线上实施的原则。通过阅读本文,读者可以了解Hetuengine如何将Hadoop生态系统整合到资源中。
顾名思义,该过程在纱线上运行,并将纱线管理并安排用于资源。
无论是trinodb/prestododb还是Openlookeng,部署方法都是直接在主机上运行协调器和工作流程,都可以在主机上与其他应用程序共享资源,不能隔离资源并且难以扩展。
在纱线服务提供的功能的帮助下,Hetuengine夫人以Yarncontainer的纱线申请形式运行协调员和工程流程。通过MRS群集租户,可以在特定的租户队列中启动Hetuengine计算实例,以实现资源隔离。
下图是Hetuengine的拓扑。Hetuengine可以与各种数据源(例如Hive,GaussDB,HBase,Elasticsearch等)连接,并为用户提供CLI/JDBC接口。在不同的租户中启动多个Hetuengine计算实例,支持租户队列上的计算实例。HSUENGINE的HSBROKER实例与YARN Service相互作用,将租户队列与计算实例绑定,并提供Hsconsole的操作和维护页面,以操作和操作和操作和操作和操作和操作和维护页面维护Hetuengine的操作和维护管理页面,包括启动,停止和删除计算实例。计算实例以分配资源分配,扩展容量等。
如前所述,Onyarn正在在纱线容器中运行该过程。Hetuengine在运行协调员和工人方面如何实现纱线?
YARN服务提供了一系列API和一个普通AM,允许用户致电API向YARN提交任务,该纱线由YARN实施,以实施该容器来管理容器和生命周期。有关详细信息,请参阅介绍开源社区。
hetuengine的纱线实现正是yarnservice.in hetuengine中的yarnservice.在hetuengine中提供的能力,致电纱线服务的API,拔起应用程序,并在容器中运行Hetuengine自己的过程,即协调器和工作。:
创建YarnService服务的接口是/app/v1/server,参数JSON结构如下。
Hetuengine的HSUENGINE HSUENKINE基于用户输入的JSON构建了此JSON,然后调用YarnService API在YARN上实现。此外,YARN Service还提供了诸如Stop/Delete之类的API,HSSBROKER也要求HSBROKER来实现操作和维护操作,例如Hetuengine计算实例的停止/删除。
纱线服务支持资源文件以在HDFS上启动该过程。它提供的API可以接收资源文件,例如TAR PACK和DOCKER,该文件由YARN Service本地化。因此,Hetuengine仅需要事先部署依赖的JAR包和资源文件,并在HDFS上的指定位置,并指定资源调用纱线服务的API时文件。
Hetuengine支持计算实例,以将计算实例与租户的房客队列绑定,并且每个队列都可以运行协调器 + Worker的组合。基于以前的纱线服务能力,您只需要在构造JSON.IN加法时指定队列信息在队列中,您还可以设置Plecement策略,这在此处尚未详细介绍。您可以参考纱线文档。
Hetuengine支持协调员和工人的数量以及CPU内存的大小。HSBRORK的用户输入,设置JSON资源段中容器所需的资源大小。
当前的Hetuengine支持工人的水平扩展数量以实现资源的弹性望远镜。通过纱线服务的API,可以增加或减少运行应用程序中应用程序的容器数量。
在完成Hetuengine的创建实例之后,用户可以访问HETU-CLI或JDBC程序。用户需要绑定相应的租户队列权限,以便将任务提交指定队列。
hetu cli示例:
tenn名称:(可选)租户名。租户资源队列的hetuengine的租户资源队列未指定为租户的默认队列。当使用此参数时,Kinit用户需要具有角色相应角色的权限。
Hetu JDBC示例:
本文主要介绍Hetuengineon Yarn的原理。它主要基于纱线服务提供的能力。有兴趣的读者可以深入阅读开源社区的介绍。
作者:柠檬。