[发明专利]一种storm任务管理和调度方法有效
申请号: | 202210053528.X | 申请日: | 2022-01-18 |
公开(公告)号: | CN114489598B | 公开(公告)日: | 2023-03-28 |
发明(设计)人: | 高晨 | 申请(专利权)人: | 徐工汉云技术股份有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F9/48 |
代理公司: | 南京纵横知识产权代理有限公司 32224 | 代理人: | 母秋松 |
地址: | 221001 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 storm 任务 管理 调度 方法 | ||
本发明公开了一种storm任务管理和调度方法,内置预先定义好的专门消费kafka的spout和不同类型的bolt,只需对bolt添加业务处理逻辑即可,同时通过web页面拖拉拽和节点连线完成拓扑设计和参数配置,通过改造的dolphinscheduler作为调度服务进行storm任务提交,使用flume采集日志文件和rabbitmq发布订阅storm日志实时消息。本发明提供的一种storm任务管理和调度方法,提升了开发效率,任务运行稳定实现了查看功能,方便了调试。
技术领域
本发明涉及一种storm任务管理和调度方法,属于大数据处理技术领域。
背景技术
在工业大数据领域,经常使用storm实时计算任务来完成数据报文解析、终端告警、指标处理、数据入库等操作,通常开发storm任务,需要在代码中继承并实现相应的spout和bolt类、构建拓扑、指定分发策略、设置各种参数,代码打成jar包,将依赖的公共jar包添加到storm的extlib目录下,通过storm jar参数方式提交任务。
以上storm任务开发方式效率低下,需要在代码中实现大量的工作,比如在spout中消费kafka数据、在bolt与其他大数据组件交互等,拓扑设计在代码中通过API实现,不够直观,参数设置不够灵活,第三方jar包放置在extlib目录下容易导致与业务所依赖的jar包版本冲突问题,该问题排查极其困难。除此之外,由于storm任务可能运行在多个机器上,每个机器可能会运行多个storm worker进程,产生多个日志文件,导致storm日志查看不便、任务调试和运维困难。
storm任务提交运行是通过手工执行命令的方式,这种方式存在误操作的情况,给服务器系统安全带来隐患,同时没使用调度策略来保障任务稳定可靠的提交和运行。
发明内容
目的:为了克服storm任务在开发、运行、调试等过程中存在的不足,本发明提供一种storm任务管理和调度方法,实现了storm拓扑构建、参数配置、任务调度、jar包资源隔离、日志查看等功能,解决了在工业大数据领域storm实时处理任务开发效率低、部署困难、运维麻烦等问题。
技术方案:为解决上述技术问题,本发明采用的技术方案为:
一种storm任务管理和调度方法,包括如下步骤:
在web页面中设置spout节点和bolt节点数据结构的参数,并在web页面上对spout和bolt节点之间进行连线,完成storm拓扑结构抽象,形成storm任务。
将storm任务通过接口提交到dolphinscheduler中,dolphinscheduler根据任务类型jobType字段判断是否为提交的storm任务,若是storm任务,dolphinscheduler根据机器实际运行情况和调度策略,挑选合适的机器提交storm任务,在被挑选的机器上,通过抽取storm任务中的mainJar参数和jobResourceList参数信息,将jar包资源从hdfs下载到被挑选的机器上,执行命令将storm任务提交到storm集群中。
storm集群在收到提交的storm任务时,先执行mainClass定义的主方法,在主方法中获取params信息,抽取出nodes定义的节点信息,遍历所有节点将storm拓扑结构抽象映射成storm拓扑结构。
根据stormTopologyConfig定义的参数设置storm拓扑结构的运行参数,通过storm拓扑提交器将storm拓扑结构提交到storm集群中去运行。
作为优选方案,还包括如下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于徐工汉云技术股份有限公司,未经徐工汉云技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210053528.X/2.html,转载请声明来源钻瓜专利网。