返回
Linkis V2022 正式版

Linkis

立即下载

小编提示:PC版不适合移动端,如下载有问题点击反馈!

软件介绍

Linkis是一款专业的微服务架构设计软件。数据搭建必备微服务架构设计工具Linkis。它可以通过建立任何Linkis桥来帮助用户构建数据处理服务,配置设备通信服务,管理软件中的统计存储服务,统一上下文,管理软件中的物料库以及与多个服务平台执行数据交互。您的数据已传输到数据库,您可以在多个设备之间读取数据,提供应用程序管理服务,资源管理服务,可以在软件中构建工作平台,可以查看自己的工作项,可以配置多个引擎,以及您可以查看资源使用排名适合需要构建数据服务平台的用户; Linkis允许用户配置工作流程,在软件中查看设备工作进度以及远程读取设备工作数据。如果您需要构建微服务平台,请下载此软件!

软件说明:

Linkis是一种计算中间件,它集成了多个计算存储引擎,例如Spark,TiSpark,Hive,Python和HBase,提供了统一的REST / WebSocket / JDBC接口,并提交并执行SQL,Pyspark,HiveQL,Scala和其他脚本。

Linkis基于微服务架构,提供了企业级功能,例如财务级多租户隔离,资源管理和控制以及权限隔离。它支持统一变量,UDF,功能,用户资源文件管理,并具有高并发,高性能和高可用性的大数据操作。 /要求完整的生命周期管理功能。

软件功能:

统一作业执行服务:一种分布式REST / WebSocket服务,用于处理来自用户的脚本执行请求。

到目前为止可用的计算引擎:Spark,Python,TiSpark,Hive和Shell。

到目前为止可用的语言:SparkSQL,Spark Scala,PySpark,R,Python,HQL和Shell。

资源管理服务:从系统和用户的数量和负载的角度实时控制/限制资源使用。借助动态资源统计信息,您可以轻松地监视和管理系统和用户资源使用情况。

到目前为止可用的资源类型:纱线队列资源,服务器(CPU和内存),每个用户的并发实例数。

应用程序管理服务:管理全局用户应用程序,包括脱机批处理应用程序,交互式查询应用程序和实时流应用程序。它还具有强大的可重用性,特别是对于脱机和交互式应用程序,具有完整的生命周期管理功能,可以自动为用户释放空闲的应用程序。

统一存储服务:通用IO体系结构可以与各种存储系统快速集成,并提供统一的可调用条目。它还与大多数常用数据格式高度集成,并且易于使用。

统一上下文服务:统一用户和系统资源文件(JAR,ZIP,属性)。通过统一管理用户,系统和引擎的参数/变量,可以实现对随机位置的修改将自动反映在所有其他位置。

物料库:系统和用户级物料管理,能够共享,传输物料和自动生命周期管理。

元数据服务:实时显示数据集表的结构和分区。

使用说明:

如使Linkis适应新的计算或存储引擎

1引言

后端开发人员除了直接使用Linkis开发的引擎外,还可以根据需要开发自己的应用程序。分为入口模块,引擎管理器模块和引擎模块,您可以轻松拆分应用程序以适应Linkis。有关这三个模块的目的和体系结构,请参阅Linkis Archetect Design Docs UJES体系结构设计文档。

2.声明

Linkis使用Spring框架作为基本技术。因此,我们必须遵守Spring的开发规范。

Linkis具有灵活的基础架构,并为几乎所有顶级接口提供了通用的实现。如果用户需要定制的类,则可以直接注入它们并替换当前的实现。

2.1进入模块适配

1)Maven依赖

Linkis

2)要实现的接口

入口处没有强制性界面。可以根据需要实现以下接口。

EntranceParser。用于解析从前端到持久性Task的请求映射。提供了AbstractEntranceParser类,并且仅需要重写parseToTask方法。 Linkis提供CommonEntranceParser作为默认实现。

EngineRequester。用于构造RequestEngine对象,该对象可用于从EngineManager请求新引擎。

调度程序。用于计划任务。默认实现为多用户情况提供并行模式,为单用户模式提供FIFO模式。建议不要在没有特殊目的的情况下进行自定义。

2.2 EngineManager模块适配

1)Maven依赖

Linkis

2)要实现的接口

需要在EngineManager中实现以下接口:

EngineCreator。需要在现有的AbstractEngineCreator中重写方法createProcessEngineBuilder来创建EngineBuilder。在这里,ProcessEngineBuilder提供了一个名为JavaProcessEngineBuilder的类,这是一个抽象类,用于完成类路径,JavaOpts,GC文件路径和日志路径的配置,并在测试模式下打开DEBUG端口。要实现JavaProcessEngineBuilder,您只需指定其他类路径和JavaOpts。

EngineResourceFactory。需要在现有的AbstractEngineResourceFactory中重写方法getRequestResource,以声明用户定义的资源需求。

资源。一个用于将资源注册到RM的Spring bean。用户需要指定一个ModuleInfo实例进行依赖项注入。

以下接口/ bean在EngineManager中是可选的:

钩。一个用于在引擎启动期间添加前后钩的Spring bean。用户需要在EngineHook []钩子类型中声明一个Spring bean,以使新钩子生效。

2.3发动机模块适配

1)Maven依赖

Linkis

2)要实现的接口

需要在Engine中实现以下接口:

EngineExecutorFactory。用于通过实现createExecutor方法从地图构造EngineExecutor。该映射包含环境变量和引擎参。

EngineExecutor。实际的执行程序执行从条目提交的代码。需要实现的方法:1. getActualUsedResources(引擎实际使用的资源)2. executeLine(执行CodeParser解析的代码行)3. executeCompletely(executeLine的补充方法。如果executeLine返回ExecuteIncomplete,则新代码为连同之前的代码一起提交给引擎)

以下接口/ bean在引擎中是可选的:

EngineHooks:数组[EngineHook],一个Spring bean,用于在引擎启动期间添加前后钩。当前,系统提供2个钩子:用于UDF /函数加载的CodeGeneratorEngineHook和用于释放备用引擎的ReleaseEngineHook。默认情况下,系统仅注册engineHooks = Array(ReleaseEngineHook)。

CodeParser。用于将代码解析为几行,并且每个执行循环仅提交一行。默认情况下,系统注册CodeParser一次返回所有代码。

EngineParser。用于将RequestTask转换为Scheduler可接受的Job。如果未指定,则系统将注册EngineParser,该引擎将RequestTask转换为CommonEngineJob。

Linkis WebSocket API文档

1.总结

Linkis通过WebSocket提供了一种适应方法,以简化功能应用程序的前端。

数据开发IDE工具Scriptis结合了两种方法以适应Linkis。在正常情况下,它通过websocket与Linkis通信,并在断开Websocket连接时故障转移到HTTP协议。

2.1 API规范

Linkis定义了自己的前端和后端规范。

1个

)。 URL规范

Linkis

Rest_j表示API符合Jersey标准

Rest_s表示API符合springMVC Rest标准

V1是服务的版本,它将与Linkis版本一起升级

{applicationName}是微服务的名称

  2)。要求规格

Linkis

3)。响应规格

Linkis

方法:返回所请求的Restful API URL,该URL主要由websocket协议使用。

状态:返回状态信息,-1表示登录失败,0表示成功,1表示错误,2表示验证失败,3表示没有权限。

数据:回详细数据。

消息:返回请求的提示消息。如果状态不为0,则此消息返回错误消息。同时,“数据”可能会在其“堆栈”列中返回堆栈信息。

2.2 WebSocket API说明

  1)。建立联系

用于与Linkis建立WebSocket连接。

API / API / rest_j /入口/连接

HTTP方法GET

状态码101

  2)。请求执行

用于将用户作业提交给Linkis以执行。

API / api / rest_j /入口/执行

HTTP方法POST

样本Json请求主体

Linkis

请求主题数据的参数说明

Linkis

表1参数说明

样本Json响应主体

Linkis

execID是提交给Linkis后为每个用户任务生成的String类型的唯一ID。它仅在执行期间使用,例如PID。 execID的格式为(requestApplicationName的长度)(executeAppName的长度)(实例的长度)requestApplicationName {executeApplicationName} entryInstanceinfomationip +端口{requestApplicationName} $ {umUser} $ {index}

TaskID是Long类型的唯一ID,由数据库为每个任务增量生成。

3)。任务状态,日志和进度的推送机制

提交后,状态,日志和进度信息将由服务器推送。能够通过websocket协议检索它们。 该API与下面提到的HTTP协议一致。 唯一的区别是websocket的模式是ws://,但是对于HTTP协议,它是http://。

WebSocket API的示例响应

日志

Linkis

Linkis

进展

软件功能:

资源管理

1.丰富的类型,包括服务器CPU和内存,纱线,磁盘10和流量等。

2.系统(项目)级资源管理

3.用户级资源管理

4.实时显示资源使用情况

多引擎支持

Spark,Python,TiSpark,hive,Shel等

实时进度/日志

1.支持任务进度的实时显示

2.详细,准确的实时日志推送

自订变数

一处定义的全局自定义变量,随处可见

语境

1,资源文件(JAR / ZIP / Properties等)统一

2.集中管理用户引擎参数和变量

3,提供统一的上下文SDK

应用管理

1.为用户智能选择合适的引擎

2.提供引擎重用能力

3.提供引擎切换功能以实现快速执行

智能优化

1.历史重用能力(存在相同的历史任务,历史结果将被定期重用)

2.智能重试(由内部系统错误触发的重试,针对计算引擎错误的智能重试)

错误代码

执行失败时提供用户友好的错误代码和描述

多租户

系统级/用户级多租户隔离

结果集

1.多结果集支持

2.结果集输出元数据(co lumnName,co lumnType,注释)信息

无功能

1.高可用性,高可靠性,高并发支持

2.分布式,你

无服务器可扩展性

精品推荐
猜你喜欢
用户评论