CN115529306B - 一种基于springboot的spark jar包远程提交方法 - Google Patents
一种基于springboot的spark jar包远程提交方法 Download PDFInfo
- Publication number
- CN115529306B CN115529306B CN202210866803.XA CN202210866803A CN115529306B CN 115529306 B CN115529306 B CN 115529306B CN 202210866803 A CN202210866803 A CN 202210866803A CN 115529306 B CN115529306 B CN 115529306B
- Authority
- CN
- China
- Prior art keywords
- spark
- springboot
- jar
- page
- log
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 10
- 238000011161 development Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 7
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/069—Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于springboot的spark jar包远程提交方法,采用springboot与spark api相结合,并结合websocket相关技术,使得用户在无需登录spark节点服务器的情况下即可提交spark任务,方便调试;也可以在非spark节点所在服务器远程上传并调用服务,在具有紧前活动的情况下能缩短任务周期,且避免了spark节点服务器权限的过渡开放。
Description
技术领域
本发明涉及大数据技术领域,具体涉及一种基于springboot的spark jar包远程提交方法。
背景技术
在大数据领域,由于spark具有高效、成熟、稳定等特点,因此经常使用spark框架开发相关jar包进行大数据处理。然后现有的spark jar包提交方式需要授予用户spark节点服务器登录权限,手动上传jar包后再编写启动spark的shell脚本,操作上比较繁琐,且授予服务器权限具有一定的风险性;在存在多个流程的任务中,有时候spark处理具有紧前活动,而紧前活动不一定部署在spark节点服务器上,因此无法在紧前活动完成后立刻调用spark任务,一般采用定时策略,造成了任务周期的延长,且存在紧前活动未完成spark就开始启动的风险。
发明内容
为了解决上述技术问题,本发明将springboot与spark相结合,使得用户可以在不登录服务器的情况下载页面上进行提交调试;也可在其他非节点服务器访问http接口,达到远程访问的目的,使得紧前活动结束后可以立刻提交spark任务。
为了达到上述技术效果,本发明采用如下技术方案:
一种基于springboot的spark jar包远程提交方法,包括以下步骤:
(1)Springboot提交接口的开发:通过springboot框架,结合java开发语言,提供spark jar包的文件传输系统;
Springboot方便提供web接口并且接受用户传输的文件,通过web接口可以先传输需要提交的spark jar包,然后通过sparklauncher设置启动参数,最后提交spark jar包,直至一次spark任务结束。
(2)页面日志实时展示及区分:通过websocket把logback收集到的后端日志实时返回到页面上,并在logback中加入自定义mdc标记,前端日志只保留含有自定义标记的日志行,其他的日志过滤掉;
通过websocket让springboot后台日志直接返回给前端并展示,以解决日志的实时展示问题;但是如果用户短时间内提交多个spark任务,则后台所有spark的日志都会返回,造成混淆,为了解决此问题,采用logback中加入mdc自定义标记对日志进行追踪,每次提交任务生成的唯一自定义用户标记,让前端只拿取带自定义标记的日志,使得用户只能看到自己spark任务所产生的日志。
(3)页面使用或非节点服务器使用服务:在页面上可以通过用户点击上传sparkjar包并点击启动按钮的方式进行提交;在非spark节点服务器可以使用curl-F"localFile=@/xx/xxx.jar"http://xx.xx.xx.xx:xxxx/submit命令模拟上传文件并提交spark任务。
为了把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)。
进一步的技术方案为,步骤(1)具体为通过spark自带的api sparklauncher先设置好spark启动参数,最后提交任务,直到该次spark运行结束。
进一步的技术方案为,步骤(3)中localFile对应的是spark jar包在请求端的位置。
进一步的技术方案为,步骤(3)中xx.xx.xx.xx:xxxx是接口服务的ip和端口号。
与现有技术相比,本发明具有如下有益效果:本发明通过springboot提供的相关接口及websocket技术,使得能够在页面提交jar包并实时区分显示日志方便调试;能够把spark jar包放在非服务器节点远程提交spark任务,避免了spark节点服务器的权限过渡开放,缩短了任务调度周期,避免了非必要的定时策略。本发明使用虚拟传感器采集软件仿真数据的方法,使得能够使用大数据技术对海量仿真日志数据进行分析,解决生产线等产品在未建设完成前无法使用人工智能等技术对产品进行验证、优化的问题,节约了生产线等产品的设计、分析、优化成本。
附图说明
图1为页面提交spark jar包及日志实时返回示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行进一步的解释和说明。
实施例1
如图1所示,本发明提供了一种基于springboot的spark jar包远程提交方法,包括以下步骤:
Step1:Springboot提交接口的开发
通过springboot框架,结合java开发语言,提供spark jar包的文件传输系统;通过spark自带的api sparklauncher先设置好spark启动参数,最后提交任务,直到该次spark运行结束。
Step2:页面展示
使用js html等语言开发前端页面,通过websocket把logback从springboot后端收集到的日志实时展示到前端。
Step3:日志区分
通过logback加入mdc标记对不同请求所产生的日志进行标记,前端通过过滤掉不包含自定义标记的日志,则保留的日志则都是该次请求所产生的日志,最终实时展示到页面。
Step4:页面使用及非节点服务器使用
在页面上可以通过用户点击上传spark jar包并点击启动按钮的方式进行提交;在非spark节点服务器可以使用curl-F"localFile=@/xx/xxx.jar"http://xx.xx.xx.xx:xxxx/submit相类似的命令模拟上传文件并提交spark任务。
尽管这里参照本发明的解释性实施例对本发明进行了描述,上述实施例仅为本发明较佳的实施方式,本发明的实施方式并不受上述实施例的限制,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。
Claims (1)
1.一种基于springboot的spark jar包远程提交方法,其特征在于,包括以下步骤:
(1)Springboot提交接口的开发:通过springboot框架,结合java开发语言,提供sparkjar包的文件传输系统;
(2)页面日志实时展示及区分:通过websocket把logback收集到的后端日志实时返回到页面上,并在logback中加入自定义mdc标记,前端日志只保留含有自定义标记的日志行,其他的日志过滤掉;
(3)页面使用或非节点服务器使用服务:在页面上可以通过用户点击上传spark jar包并点击启动按钮的方式进行提交;在非spark节点服务器可以使用curl -F "localFile=@/xx/xxx.jar" http://xx.xx.xx.xx:xxxx/submit命令模拟上传文件并提交spark任务;
步骤(1)具体为通过spark自带的api sparklauncher先设置好spark启动参数,最后提交任务,直到该次spark运行结束;
步骤(3)中localFile对应的是spark jar包在请求端的位置;步骤(3)中xx.xx.xx.xx:xxxx是接口服务的ip和端口号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210866803.XA CN115529306B (zh) | 2022-07-22 | 2022-07-22 | 一种基于springboot的spark jar包远程提交方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210866803.XA CN115529306B (zh) | 2022-07-22 | 2022-07-22 | 一种基于springboot的spark jar包远程提交方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115529306A CN115529306A (zh) | 2022-12-27 |
CN115529306B true CN115529306B (zh) | 2024-05-17 |
Family
ID=84695638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210866803.XA Active CN115529306B (zh) | 2022-07-22 | 2022-07-22 | 一种基于springboot的spark jar包远程提交方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115529306B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109471709A (zh) * | 2018-10-16 | 2019-03-15 | 深圳中顺易金融服务有限公司 | 基于Apache Oozie框架处理大数据的流程任务的调度方法 |
CN110069335A (zh) * | 2019-05-07 | 2019-07-30 | 江苏满运软件科技有限公司 | 任务处理系统、方法、计算机设备和存储介质 |
CN110457178A (zh) * | 2019-07-29 | 2019-11-15 | 江苏艾佳家居用品有限公司 | 一种基于日志采集分析的全链路监控告警方法 |
CN110889108A (zh) * | 2019-11-26 | 2020-03-17 | 网易(杭州)网络有限公司 | spark任务的提交方法、装置和服务器 |
CN111158872A (zh) * | 2019-12-16 | 2020-05-15 | 北京明朝万达科技股份有限公司 | 一种提交并守护spark任务的方法及装置 |
CN111625269A (zh) * | 2020-05-14 | 2020-09-04 | 中电工业互联网有限公司 | 一种基于Web的通用Spark任务提交系统及方法 |
CN111736907A (zh) * | 2020-06-16 | 2020-10-02 | 湖南省星岳天璇科技有限公司 | 一种自适应低延迟内存计算引擎的数据分析方法 |
CN112256530A (zh) * | 2020-10-27 | 2021-01-22 | 广州助蜂网络科技有限公司 | 一种可链路追踪的日志服务方法及其系统 |
CN114003506A (zh) * | 2021-11-10 | 2022-02-01 | 广州易方信息科技股份有限公司 | 一种基于日志录制的接口测试以及监控的方法 |
CN114118492A (zh) * | 2021-11-19 | 2022-03-01 | 许昌许继软件技术有限公司 | 一种基于vue权限管理的办公室预约系统 |
CN114461596A (zh) * | 2021-12-24 | 2022-05-10 | 安徽航天信息有限公司 | 一种基于Spark平台的多源数据同步方法、装置及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016160626A1 (en) * | 2015-03-27 | 2016-10-06 | Globallogic, Inc. | Determining actions based on imputing meaning to sensed information in a distributed computing environment |
US10929771B2 (en) * | 2016-11-15 | 2021-02-23 | General Electric Company | Multimodal, small and big data, machine tearing systems and processes |
-
2022
- 2022-07-22 CN CN202210866803.XA patent/CN115529306B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109471709A (zh) * | 2018-10-16 | 2019-03-15 | 深圳中顺易金融服务有限公司 | 基于Apache Oozie框架处理大数据的流程任务的调度方法 |
CN110069335A (zh) * | 2019-05-07 | 2019-07-30 | 江苏满运软件科技有限公司 | 任务处理系统、方法、计算机设备和存储介质 |
CN110457178A (zh) * | 2019-07-29 | 2019-11-15 | 江苏艾佳家居用品有限公司 | 一种基于日志采集分析的全链路监控告警方法 |
CN110889108A (zh) * | 2019-11-26 | 2020-03-17 | 网易(杭州)网络有限公司 | spark任务的提交方法、装置和服务器 |
CN111158872A (zh) * | 2019-12-16 | 2020-05-15 | 北京明朝万达科技股份有限公司 | 一种提交并守护spark任务的方法及装置 |
CN111625269A (zh) * | 2020-05-14 | 2020-09-04 | 中电工业互联网有限公司 | 一种基于Web的通用Spark任务提交系统及方法 |
CN111736907A (zh) * | 2020-06-16 | 2020-10-02 | 湖南省星岳天璇科技有限公司 | 一种自适应低延迟内存计算引擎的数据分析方法 |
CN112256530A (zh) * | 2020-10-27 | 2021-01-22 | 广州助蜂网络科技有限公司 | 一种可链路追踪的日志服务方法及其系统 |
CN114003506A (zh) * | 2021-11-10 | 2022-02-01 | 广州易方信息科技股份有限公司 | 一种基于日志录制的接口测试以及监控的方法 |
CN114118492A (zh) * | 2021-11-19 | 2022-03-01 | 许昌许继软件技术有限公司 | 一种基于vue权限管理的办公室预约系统 |
CN114461596A (zh) * | 2021-12-24 | 2022-05-10 | 安徽航天信息有限公司 | 一种基于Spark平台的多源数据同步方法、装置及系统 |
Non-Patent Citations (2)
Title |
---|
Web Development with Spring Boot.《springerLink》.2016,全文. * |
云制造环境下的车间资源虚拟可视化设计与实现;范磊;《中国优秀硕士学位论文全文数据库》;20200715;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115529306A (zh) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Netravali et al. | Mahimahi: accurate {Record-and-Replay} for {HTTP} | |
CN103336724B (zh) | 用于Flash应用程序的具有分布式对象的集成硬件平台的系统和方法 | |
US9652364B1 (en) | Cloud service for mobile testing and debugging | |
CN105450463B (zh) | 硬件设备的调试方法、装置和系统 | |
CN110177139B (zh) | 一种可公开的移动app数据抓取方法 | |
US20130086554A1 (en) | Analytics Driven Development | |
CN106331071B (zh) | Android应用程序网络流量的远程采集系统及方法 | |
CN109446075A (zh) | 一种接口测试方法及装置 | |
CN107370739B (zh) | 基于云服务器的信号处理虚拟实验仿真系统及方法 | |
CN106355967A (zh) | 一种基于app移动终端的自我强制学习系统及学习方法 | |
CN106649342A (zh) | 数据采集平台中数据处理的方法及装置 | |
CN104836713A (zh) | 用于车辆电子控制器的测量标定方法、装置及系统 | |
CN105959180A (zh) | 数据检测方法及装置 | |
KR20120070130A (ko) | 가상 게임 클라이언트 생성 방법 및 그 장치 | |
CN107256276A (zh) | 一种基于云平台的移动App内容安全获取方法及设备 | |
CN115529306B (zh) | 一种基于springboot的spark jar包远程提交方法 | |
CN105991700B (zh) | 处理语音数据的方法、云端服务器系统和终端设备 | |
CN106708717B (zh) | 一种开发调试方法及装置 | |
CN110399723A (zh) | 漏洞检测方法和装置、存储介质及电子装置 | |
CN113612626A (zh) | 一种基于tbox模拟平台测试云端的方法及系统 | |
CN116974835A (zh) | 串口通信测试方法、系统、设备及存储介质 | |
CN105610942A (zh) | 一种基于pc前端的学习系统及学习方法 | |
CN107632935A (zh) | 一种软件系统压力测试方法、装置、设备及存储介质 | |
CN113411371B (zh) | 应用于车辆的通信方法、装置、电子设备及车辆 | |
CN112838938B (zh) | 一种物联网平台的测试系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |