[发明专利]一种数据流处理方法及系统在审
申请号: | 201910048043.X | 申请日: | 2019-01-18 |
公开(公告)号: | CN109857558A | 公开(公告)日: | 2019-06-07 |
发明(设计)人: | 郭业俊;李浩;王志强;孙迁 | 申请(专利权)人: | 苏宁易购集团股份有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京市万慧达律师事务所 11111 | 代理人: | 张慧娟 |
地址: | 210000 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 集群 数据流处理 配置信息 主节点 数据处理领域 调度 可用性 对外接口 高可用性 接收业务 上线请求 业务分配 资源使用 写入 上报 服务 | ||
本发明公开了一种数据流处理方法及系统,属于大数据处理领域,方法包括:由Zookeeper集群确定若干Master节点中的一个作为主节点;由主节点提供对外接口以接收业务的上线请求,并为业务分配任务;由主节点根据多个Worker节点各自上报的当前状态信息,生成任务的配置信息并写入ZooKeeper集群中,配置信息包括指示被调度以执行任务的Worker节点的信息;Worker节点若监听到ZooKeeper集群中存在调度给自己的任务,则启动Flume服务进行执行。本发明实施例能够实现Master节点和Worker节点的高可用性,提升Flume服务的可用性,避免资源使用不均和浪费的问题;并且,能够极大地简化业务上下线操作,降低业务之间的相互影响。
技术领域
本发明涉及大数据处理领域,特别涉及一种数据流处理方法及系统。
背景技术
现有技术中,通常会在集群的各个节点中启动Flume服务来实现将数据源source的数据转存到sink端中。
在实现本发明的过程中,发明人发现:由于节点设备发生常规故障(如死锁、消费异常等)时,系统无感知,需要人工处理,影响故障处理的时效性;另外,由于同一集群的各节点采用相同的配置,但各节点的业务数据量参差不齐,容易导致Flume收集线程空闲比例偏大;此外,由于新业务上线操作比较频繁,且需要人工修改业务配置文件,修改时需要重启整个集群,从而影响到同集群中的其他业务的正常执行。
发明内容
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一,为此本发明提供一种数据流处理方法及系统。
本发明实施例提供的具体技术方案如下:
第一方面,提供了一种数据流处理方法,所述方法包括:
由Zookeeper集群确定若干Master节点中的一个作为主节点;
由所述主节点提供对外接口以接收业务的上线请求,并为所述业务分配任务;以及
根据多个Worker节点各自上报的当前状态信息,生成所述任务的配置信息并写入所述ZooKeeper集群中,所述配置信息包括指示被调度以执行所述任务的Worker节点的信息;
所述Worker节点若监听到所述ZooKeeper集群中存在调度给自己的任务,则启动Flume服务进行执行。
进一步地,所述由Zookeeper集群确定若干Master节点中的一个作为主节点包括:
所述ZooKeeper集群接收所述Master节点基于预设触发事件发起的主节点选举请求,并在选举成功后使得所述Master节点作为主节点,其中,所述预设触发事件为如下事件之一:
所述Master节点被启动;
作为主节点的当前Master节点发生故障。
进一步地,所述根据多个Worker节点各自上报的当前状态信息,生成所述任务的配置信息包括:
根据所述多个Worker节点各自上报的主机运行状态信息,确定所述多个Worker节点中主机运行状态最佳的目标Worker节点;
生成指示将所述任务调度至所述目标Worker节点的配置信息。
进一步地,所述方法还包括:
由所述主节点根据所述多个Worker节点各自上报的主机运行状态信息和任务执行状态信息,对所述任务的配置信息进行调整;
其中,调整后的所述任务的配置信息指示对处于空闲状态的任务进行缩容处理,并对和处于堆积状态的任务进行扩容处理;以及
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏宁易购集团股份有限公司,未经苏宁易购集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910048043.X/2.html,转载请声明来源钻瓜专利网。