一种基于springboot的sparkjar包远程提交方法技术

技术编号:36108211 阅读:12 留言:0更新日期:2022-12-28 14:09
本发明专利技术公开了一种基于springboot的spark jar包远程提交方法,采用springboot与spark api相结合,并结合websocket相关技术,使得用户在无需登录spark节点服务器的情况下即可提交spark任务,方便调试;也可以在非spark节点所在服务器远程上传并调用服务,在具有紧前活动的情况下能缩短任务周期,且避免了spark节点服务器权限的过渡开放。点服务器权限的过渡开放。点服务器权限的过渡开放。

【技术实现步骤摘要】
一种基于springboot的spark jar包远程提交方法


[0001]本专利技术涉及大数据
,具体涉及一种基于springboot的spark jar包远程提交方法。

技术介绍

[0002]在大数据领域,由于spark具有高效、成熟、稳定等特点,因此经常使用spark框架开发相关jar包进行大数据处理。然后现有的spark jar包提交方式需要授予用户spark节点服务器登录权限,手动上传jar包后再编写启动spark的shell脚本,操作上比较繁琐,且授予服务器权限具有一定的风险性;在存在多个流程的任务中,有时候spark处理具有紧前活动,而紧前活动不一定部署在spark节点服务器上,因此无法在紧前活动完成后立刻调用spark任务,一般采用定时策略,造成了任务周期的延长,且存在紧前活动未完成spark就开始启动的风险。

技术实现思路

[0003]为了解决上述技术问题,本专利技术将springboot与spark相结合,使得用户可以在不登录服务器的情况下载页面上进行提交调试;也可在其他非节点服务器访问http接口,达到远程访问的目的,使得紧前活动结束后可以立刻提交spark任务。
[0004]为了达到上述技术效果,本专利技术采用如下技术方案:
[0005]一种基于springboot的spark jar包远程提交方法,包括以下步骤:
[0006](1)Springboot提交接口的开发:通过springboot框架,结合java开发语言,提供spark jar包的文件传输系统;
[0007]Springboot方便提供web接口并且接受用户传输的文件,通过web接口可以先传输需要提交的spark jar包,然后通过sparklauncher设置启动参数,最后提交spark jar包,直至一次spark任务结束。
[0008](2)页面日志实时展示及区分:通过websocket把logback收集到的后端日志实时返回到页面上,并在logback中加入自定义mdc标记,前端日志只保留含有自定义标记的日志行,其他的日志过滤掉;
[0009]通过websocket让springboot后台日志直接返回给前端并展示,以解决日志的实时展示问题;但是如果用户短时间内提交多个spark任务,则后台所有spark的日志都会返回,造成混淆,为了解决此问题,采用logback中加入mdc自定义标记对日志进行追踪,每次提交任务生成的唯一自定义用户标记,让前端只拿取带自定义标记的日志,使得用户只能看到自己spark任务所产生的日志。
[0010](3)页面使用或非节点服务器使用服务:在页面上可以通过用户点击上传spark jar包并点击启动按钮的方式进行提交;在非spark节点服务器可以使用curl

F"localFile=@/xx/xxx.jar"http://xx.xx.xx.xx:xxxx/submit命令模拟上传文件并提交spark任务。
[0011]为了把spark提交任务接口化,需要把jar包放在请求端,然后通过http协议传输
到spark节点所在服务器,这样就不需要授权用户登陆spark节点所在服务器,只需要把jar包放在能ping通spark节点的请求端即可,可以在非节点服务器采用curl命令模拟页面的点击,达到传输spark jar包并提交spark任务的目的,其最终的使用方式如下所示curl

F"localFile=@/xx/xxx.jar"http://xx.xx.xx.xx:xxxx/submit(post)。
[0012]进一步的技术方案为,步骤(1)具体为通过spark自带的api sparklauncher先设置好spark启动参数,最后提交任务,直到该次spark运行结束。
[0013]进一步的技术方案为,步骤(3)中localFile对应的是spark jar包在请求端的位置。
[0014]进一步的技术方案为,步骤(3)中xx.xx.xx.xx:xxxx是接口服务的ip和端口号。
[0015]与现有技术相比,本专利技术具有如下有益效果:本专利技术通过springboot提供的相关接口及websocket技术,使得能够在页面提交jar包并实时区分显示日志方便调试;能够把spark jar包放在非服务器节点远程提交spark任务,避免了spark节点服务器的权限过渡开放,缩短了任务调度周期,避免了非必要的定时策略。本专利技术使用虚拟传感器采集软件仿真数据的方法,使得能够使用大数据技术对海量仿真日志数据进行分析,解决生产线等产品在未建设完成前无法使用人工智能等技术对产品进行验证、优化的问题,节约了生产线等产品的设计、分析、优化成本。
附图说明
[0016]图1为页面提交spark jar包及日志实时返回示意图。
具体实施方式
[0017]下面结合附图和具体实施例对本专利技术进行进一步的解释和说明。
[0018]实施例1
[0019]如图1所示,本专利技术提供了一种基于springboot的spark jar包远程提交方法,包括以下步骤:
[0020]Step1:Springboot提交接口的开发
[0021]通过springboot框架,结合java开发语言,提供spark jar包的文件传输系统;通过spark自带的api sparklauncher先设置好spark启动参数,最后提交任务,直到该次spark运行结束。
[0022]Step2:页面展示
[0023]使用js html等语言开发前端页面,通过websocket把logback从springboot后端收集到的日志实时展示到前端。
[0024]Step3:日志区分
[0025]通过logback加入mdc标记对不同请求所产生的日志进行标记,前端通过过滤掉不包含自定义标记的日志,则保留的日志则都是该次请求所产生的日志,最终实时展示到页面。
[0026]Step4:页面使用及非节点服务器使用
[0027]在页面上可以通过用户点击上传spark jar包并点击启动按钮的方式进行提交;在非spark节点服务器可以使用curl

F"localFile=@/xx/xxx.jar"http://xx.xx.xx.xx:
xxxx/submit相类似的命令模拟上传文件并提交spark任务。
[0028]尽管这里参照本专利技术的解释性实施例对本专利技术进行了描述,上述实施例仅为本专利技术较佳的实施方式,本专利技术的实施方式并不受上述实施例的限制,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于springboot的spark jar包远程提交方法,其特征在于,包括以下步骤:。(1)Springboot提交接口的开发:通过springboot框架,结合java开发语言,提供spark jar包的文件传输系统;(2)页面日志实时展示及区分:通过websocket把logback收集到的后端日志实时返回到页面上,并在logback中加入自定义mdc标记,前端日志只保留含有自定义标记的日志行,其他的日志过滤掉;(3)页面使用或非节点服务器使用服务:在页面上可以通过用户点击上传spark jar包并点击启动按钮的方式进行提交;在非spark节点服务器可以使用curl

F"localFile=@/xx/xxx.jar"http...

【专利技术属性】
技术研发人员:王洪贺
申请(专利权)人:四川启睿克科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1