一种超算环境下的海量数据实时采集与处理方法技术

技术编号:19215573 阅读:213 留言:0更新日期:2018-10-20 06:40
本发明专利技术公开了一种超算环境下的海量数据实时采集与处理方法,首先通过flume软件的source端将超算集群数据生成的数据源端的消息源进行收集,然后通过flume软件将收集到的消息源汇集到Kafka软件中,消息源以Kafka软件为缓冲进行存储,通过Spark软件从Kafka软件中提取需要处理的消息源进行数据处理,从而实现超算环境下的海量数据实时采集与处理,从而实现超算环境下的海量数据实时采集与处理,使用kafka来作为中间的缓冲作用,提高了数据可靠性,基于kafka的分布式消息订阅系统可以有多个消息生产者和多个消费者的方式,这样保证了系统消息的高可用性,结合docker容器化技术和负载均衡技术完成容器编排和管理,能够应用于真实的分布式数据收集、实时处理并可扩充的超大集群环境。

【技术实现步骤摘要】
一种超算环境下的海量数据实时采集与处理方法
本专利技术涉及了在超级计算中心环境下的海量数据采集和处理软件架构,尤其涉及到一种高并发、高可用、数据安全性和完备性要求下的的海量数据实时采集和处理框架。应用了流式处理数据处理技术、分布式消息订阅技术、分布式存储技术构建了一个从海量数据采集到处理的平台。
技术介绍
随着我国创新驱动战略的实施和工业转型升级及两化深度融合的不断推进,工业产品研发得到了前所未有的重视。中国科技部提出:依托国家高性能计算环境,结合互联网和云计算等技术,聚合工业开发社区所需的高性能计算、存储、应用软件、可视化、数据等资源培育形成基于国家高性能计算和服务环境的工业社区产品创新的生态环境。超算环境下的复杂计算作业产生数据量巨大,应用程序对数据采集的完备性和处理实时性的要求越来越高。然而对于十分庞大的计算节点构建的超算环境下常见的数据采集工具已经无法满足数据采集和处理的可靠性要求,数据生成的速度过快会产生数据丢失现象,而且存储元数据的节点宕机后会对整个系统的安全性造成影响。
技术实现思路
本专利技术的目的在于提供一种超算环境下的海量数据实时采集与处理方法,以克服现有技术的不足。为达到上述目的,本专利技术采用如下技术方案:一种超算环境下的海量数据实时采集与处理方法,包括以下步骤:首先通过flume软件的source端将超算集群数据生成的数据源端的消息源进行收集,然后通过flume软件将收集到的消息源汇集到Kafka软件中,消息源以Kafka软件为缓冲进行存储,最后通过Spark软件从Kafka软件中提取需要处理的消息源进行数据处理,从而实现超算环境下的海量数据实时采集与处理。进一步的,使用开分布式的海量日志采集、聚合和传输的系统flume作为数据源端的采集工具,通过Flume对数据进行简单处理,并写到各种数据接受方。进一步的,数据源端包括console、RPC、text、tail、spooldir及syslog,数据源端支持TCP和UDP2种模式。进一步的,Kafka软件采用分布式消息订阅系统,即有多个消息生产者和多个消费者,kafka软件将接收到的消息源存入到kafka软件的磁盘数据结构的持久化中去供后端能处理端的消息来处理。进一步的,Spark软件通过SparkStream来消费Kafka的分布式消息,通过流式处理方式,计算需要做的分析处理业务。进一步的,Spark软件将结果通过数据可视化工具ichart展示出来,可视化工具ichart请求层的web应用程序采用docker容器编排的方式部署,使用dockerswarm作为容器编排工具、结合ansible作为集群的自动化运维工具。进一步的,超算集群的每个节点即超算节点都有多个进程部署在每个分布式节点上,分部署存储的基底是以HDFS基地之上的多个节点构成的集群,超算节点在运行作业时产生的大批量数据会出处在log日志里面,最终flume软件将log日志里面的信息放入Kafka软件缓存上面。进一步的,超算节点采用三个节点来存储元数据,使用基于zookeeper来保证多活,每一个作业运行节点作为消息的生产者,每个节点启动时设置一个守护进程,通过命令开启每个节点的kafka服务;每一个流式计算节点作为消息的消费者,每个消息经过每一个flume软件分支汇集到kafka软件集中式缓存起来,其后,spark软件从kafka软件汇聚起来的池子里面拿走消息进行计算,且每个环节都是一个分布式高可用的结构。与现有技术相比,本专利技术具有以下有益的技术效果:本专利技术一种超算环境下的海量数据实时采集与处理方法,首先通过flume软件的source端将超算集群数据生成的数据源端的消息源进行收集,然后通过flume软件将收集到的消息源汇集到Kafka软件中,消息源以Kafka软件为缓冲进行存储,最后通过Spark软件从Kafka软件中提取需要处理的消息源进行数据处理,从而实现超算环境下的海量数据实时采集与处理,从而实现超算环境下的海量数据实时采集与处理,使用kafka来作为中间的缓冲作用,提高了数据可靠性,基于kafka的分布式消息订阅系统可以有多个消息生产者和多个消费者的方式,这样保证了系统消息的高可用性,结合docker容器化技术和负载均衡技术完成容器编排和管理,本专利技术能够应用于真实的分布式数据收集、实时处理并可扩充的超大集群环境。进一步的,请求层的web应用程序采用docker容器编排的方式部署,使用dockerswarm作为容器编排工具、结合ansible作为集群的自动化运维工具。这样讲容器作为底层服务端口部署的方式,既可以保证隔离性又可以将我们业务微服务化。进一步的,采用三个节点来存储元数据,使用基于zookeeper来保证多活,每一个作业运行节点作为消息的生产者,每个节点启动时设置一个守护进程来通过命令开启每个节点的kafka服务,每一个流式计算节点作为消息的消费者,这样的消息就像水流一样先从超算节点流出,经过每一个flume分支汇集到kafka集中式缓存起来,其后,spark从这儿消息的汇聚起来的池子里面拿走消息进行计算,这样整个中心环节就连贯起来了,且每个环节都是一个分布式高可用的结构,则有效保证了计算的可靠性和并发性。进一步的,使用dockerswarm作为容器编排工具、结合ansible作为集群的自动化运维工具,这样讲容器作为底层服务端口部署的方式,既可以保证隔离性又可以将我们业务微服务化。附图说明图1是本专利技术数据处理流程图。图2是容器编排示意图过程。图3是数据处理框架。图4是整体的流程图。具体实施方式下面结合附图对本专利技术做进一步详细描述:如图1所示,一种超算环境下的海量数据实时采集与处理方法,包括超算集群数据生成、数据采集、数据接入、流式计算、数据流出;首先通过flume软件的source端将超算集群数据生成的数据源端的消息源进行收集,即完成数据采集,然后通过flume软件将收集到的消息源汇集到Kafka软件中,flume软件通过flume软件的sink端进行数据传输,完成数据接入,消息源以Kafka软件为缓冲进行存储,最后通过Spark软件从Kafka软件中提取需要处理的消息源进行数据处理,即可完成流式计算和数据流出,从而实现超算环境下的海量数据实时采集与处理。sink端为KafkaSink具体的配置如下:Flume配置如下:使用开分布式的海量日志采集、聚合和传输的系统flume软件作为数据源端的采集工具,通过Flume软件对数据进行简单处理,并写到各种数据接受方(可定制),例如设置flume的source端使用spooldir方式来实时将web生成的日志作为消息源;数据源端包括console(控制台)、RPC(Thrift-RPC)、text(文件)、tail(UNIXtail)、spooldir、syslog(syslog日志系统),数据源端支持TCP和UDP2种模式,exec(命令执行)数据源上收集数据的能力。超算集群的每个节点即超算节点都有多个进程部署在每个分布式节点上,分部署存储的基底是以HDFS基地之上的多个节点构成的集群。超算节点在运行作业时产生的大批量数据会出处在log日志里面,最终flume将这些日志放入Kafka上面缓存上面,kafka本文档来自技高网...

【技术保护点】
1.一种超算环境下的海量数据实时采集与处理方法,其特征在于,包括以下步骤:首先通过flume软件的source端将超算集群数据生成的数据源端的消息源进行收集,然后通过flume软件将收集到的消息源汇集到Kafka软件中,消息源以Kafka软件为缓冲进行存储,最后通过Spark软件从Kafka软件中提取需要处理的消息源进行数据处理,从而实现超算环境下的海量数据实时采集与处理。

【技术特征摘要】
1.一种超算环境下的海量数据实时采集与处理方法,其特征在于,包括以下步骤:首先通过flume软件的source端将超算集群数据生成的数据源端的消息源进行收集,然后通过flume软件将收集到的消息源汇集到Kafka软件中,消息源以Kafka软件为缓冲进行存储,最后通过Spark软件从Kafka软件中提取需要处理的消息源进行数据处理,从而实现超算环境下的海量数据实时采集与处理。2.根据权利要求1所述的一种超算环境下的海量数据实时采集与处理方法,其特征在于,使用开分布式的海量日志采集、聚合和传输的系统flume作为数据源端的采集工具,通过Flume对数据进行简单处理,并写到各种数据接受方。3.根据权利要求1所述的一种超算环境下的海量数据实时采集与处理方法,其特征在于,数据源端包括console、RPC、text、tail、spooldir及syslog,数据源端支持TCP和UDP2种模式。4.根据权利要求1所述的一种超算环境下的海量数据实时采集与处理方法,其特征在于,Kafka软件采用分布式消息订阅系统,即有多个消息生产者和多个消费者,kafka软件将接收到的消息源存入到kafka软件的磁盘数据结构的持久化中去供后端能处理端的消息来处理。5.根据权利要求4所述的一种超算环境下的海量数据实时采集与处理方法,其特征在于,Spark软件通过SparkStream来消费Ka...

【专利技术属性】
技术研发人员:伍卫国张祥俊
申请(专利权)人:西安交通大学
类型:发明
国别省市:陕西,61

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

1