您当前的位置:首页 > 互联网百科 > 大数据

实战:如何实时采集上亿级别数据?

时间:2020-11-13 10:02:46  来源:  作者:

背景介绍

公司业务系统做优化改造,同时为了能够实现全链路监控,需收集所有业务系统之间的调用日志。

数据情况:每天20亿+

机器成本:3台kafka集群,2台logstash采集机器

技术:JAVA,MQ,MLSQL,Logstash

下图为最终结果图

实战:如何实时采集上亿级别数据?

 

采集流程

实战:如何实时采集上亿级别数据?

 

流程分解

流程一:MLSQL 消费MQ

原始日志产生侧通过protobuf进行序列化推送至mq,然后通过MLSQL进行反序列化并进行简单的etl处理后,再推送至MQ

流程二:通过Logstash进行消费MQ

通过logstash消费经过MLSQL处理后的数据,并在这里通过ruby进行再次的加工处理,最后写入es和hdfs

注意:这里一部分流程推送到es是业务侧使用,而另一部分写入hdfs是提供给数仓使用

流程三: 数仓建模

这里通过数仓建模,将最后的指标结果推送至es提供给业务侧使用

注意:本篇主要是借鉴这个需求讲解Logstash在实际场景中的使用以及优化,其他两个部分流程不做详细讲解

为什么这样设计

原因一:

首先这个需求属于日志采集的范畴,但Logstash本身不支持反序列化功能,需要自定义开发ruby插件来支持,但这样一来开发成本较高,且不好维护,所以使用了MLSQL结合UDF的方式进行流式处理

原因二:

大家在对最后的输出流程可能会有疑惑,为什么不直接通过MLSQL来写入到hdfs和es呢,这里有两点:

1.MLSQL写入hdfs会产生大量的小文件,需要单独开发合并文件的功能

2.最后写入es的数据是需要数仓结合其他业务数据进行建模的,而MLSQL在这点做的不太好,所以这里走的是离线处理的方式

说到这里,具体的场景需要结合公司的实际情况来进行决策的,有些同学或许会想为什么不用flume进行日志采集呢?那这里就不做过多的解释了,白菜萝卜各有所爱,适合自己的才是最好的!废话不多说,接下来进入正题,结合该需求场景,如何使用较少的成本完成大数据量的采集呢?以及如何优化呢?

Logstash开发流程

1.确定日志格式

首先呢,一个日志文件里肯定是不止一种日志格式,也有可能是标准化的格式,这里需要跟日志产生侧进行确认格式

2.调试grok

确定好日志格式后,编写grok语法,然后进行调试,本人是通过kibana6自带的grok debug进行调试。结合该需求背景,最后经过logstash采集的时候,其实已经通过MLSQL进行了处理,最后Logstash消费的是格式就是一个json字符串,所以不需要grok语法,但是这里还是简单举个例子来说明一下

实战:如何实时采集上亿级别数据?

 

3.调试ruby

结合该需求,使用ruby进行一些清洗逻辑

实战:如何实时采集上亿级别数据?

 

4.优化

这里优化的工作在整个需求开发周期的比例较大,因为数据量较大,且资源比较少,具体优化思路如下:

1.MLSQL优化

这部分的优化工作主要是在反序化这块,剔除了一部分无用字段,以及提前过滤了一部分数据量,这里给出一部分注册UDF的代码

实战:如何实时采集上亿级别数据?

 

2.Kafka端优化

因kafka集群是集团共用,所以kafka端的优化其实只涉及到消费端的优化。这里只调节了两个参数

一:数据压缩

二:消费者线程数

3.hdfs优化

logstash写入hdfs的部分不用使用自带的webhdfs插件,而是自定义的插件。

因自定义插件中涉及到文件锁的问题,会通过比对前后两次文件是否一致来进行文件最后的刷写,所以这里只能通过减少文件的更新频率来减少上下文的切换以及刷写操作

4.ES优化

es部分的优化也只是涉及到写优化,比如批量写入、调大线程数、增加refresh间隔、禁止swApping交换内存、禁止refresh和replica操作,调大index buffer等操作



Tags:数据   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
这是很久以前的一则数据,我在iOS平台开发了“先知 - 优质生活”App,本想依靠封闭式环境,广告少体验不错等优点。会有一定的下载量,没想到开发完成后,就被App store埋藏起来了。个...【详细内容】
2021-12-27  Tags: 数据  点击:(2)  评论:(0)  加入收藏
安装环境Linux服务器:Centos 6 64位Oracle服务器:Oracle11gR2 64位 系统要求说明:内存必须高于1G的物理内存;交换空间,一般为内存的2倍(1G的内存可以设置swap 分区为3G大小);硬...【详细内容】
2021-12-27  Tags: 数据  点击:(2)  评论:(0)  加入收藏
作者:雷文霆 爱可生华东交付服务部 DBA 成员,主要负责Mysql故障处理及相关技术支持。爱好看书,电影。座右铭,每一个不曾起舞的日子,都是对生命的辜负。 本文来源:原创投稿 *爱可生...【详细内容】
2021-12-24  Tags: 数据  点击:(6)  评论:(0)  加入收藏
为啥这几年偷税漏税的新闻这么多?不是偷的人多了,是因为国家有了查税大杀器: ...【详细内容】
2021-12-24  Tags: 数据  点击:(8)  评论:(0)  加入收藏
博雯 发自 凹非寺量子位 报道 | 公众号 QbitAI在炼丹过程中,为了减少训练所需资源,MLer有时会将大型复杂的大模型“蒸馏”为较小的模型,同时还要保证与压缩前相当的结果。这就...【详细内容】
2021-12-24  Tags: 数据  点击:(9)  评论:(0)  加入收藏
前言JDBC访问Postgresql的jsonb类型字段当然可以使用Postgresql jdbc驱动中提供的PGobject,但是这样在需要兼容多种数据库的系统开发中显得不那么通用,需要特殊处理。本文介绍...【详细内容】
2021-12-23  Tags: 数据  点击:(12)  评论:(0)  加入收藏
《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的HasorDB 是一个全功能数据库访问工具,提供对象映射、丰...【详细内容】
2021-12-22  Tags: 数据  点击:(5)  评论:(0)  加入收藏
现有数据架构难以支撑现代化应用的实现。 随着云计算产业的快速崛起,带动着各行各业开始自己的基于云的业务创新和信息架构现代化,云计算的可靠性、灵活性、按需计费的高性价...【详细内容】
2021-12-22  Tags: 数据  点击:(10)  评论:(0)  加入收藏
作者丨Rafal Grzegorczyk译者丨陈骏策划丨孙淑娟【51CTO.com原创稿件】您是否还在手动对数据库执行各种脚本?您是否还在浪费时间去验证数据库脚本的正确性?您是否还需要将...【详细内容】
2021-12-22  Tags: 数据  点击:(3)  评论:(0)  加入收藏
读取SQLite数据库,就是读取一个路径\\192.168.100.**\position\db.sqlite下的文件<startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0"/...【详细内容】
2021-12-16  Tags: 数据  点击:(21)  评论:(0)  加入收藏
▌简易百科推荐
张欣安科瑞电气股份有限公司 上海嘉定 201801 摘要:随着电力行业各系统接入,海量数据涌现,如何利用电网信息化中大量数据,对客户需求进行判断分析,服务于营销链条,提升企业市场竞...【详细内容】
2021-12-14  安科瑞张欣    Tags:大数据   点击:(9)  评论:(0)  加入收藏
1、什么是数据分析结合分析工具,运用数据分析思维,分析庞杂数据信息,为业务赋能。 2、数据分析师工作的核心流程:(1)界定问题:明确具体问题是什么;●what 发生了什么(是什么)●why 为...【详细内容】
2021-12-01  逆风北极光    Tags:大数据   点击:(25)  评论:(0)  加入收藏
在实际工作中,我们经常需要整理各个业务部门发来的数据。不仅分散,而且数据量大、格式多。单是从不同地方汇总整理这些原始数据就花了大量的时间,更不用说还要把有效的数据收集...【详细内容】
2021-11-30  百数    Tags:数据   点击:(21)  评论:(0)  加入收藏
数据作为新的生产要素,其蕴含的价值日益凸显,而安全问题却愈发突出。密码技术,是实现数据安全最经济、最有效、最可靠的手段,对数据进行加密,并结合有效的密钥保护手段,可在开放环...【详细内容】
2021-11-26  炼石网络    Tags:数据存储   点击:(17)  评论:(0)  加入收藏
导读:网易大数据平台的底层数据查询引擎,选用了Impala作为OLAP查询引擎,不但支撑了网易大数据的交互式查询与自助分析,还为外部客户提供了商业化的产品与服务。今天将为大家分享...【详细内容】
2021-11-26  DataFunTalk    Tags:大数据   点击:(15)  评论:(0)  加入收藏
导读:数据挖掘是一种发现知识的手段。数据挖掘要求数据分析师通过合理的方法,从数据中获取与挖掘项目相关的知识。作者:赵仁乾 田建中 叶本华 常国珍来源:华章科技数据挖掘是一...【详细内容】
2021-11-23  华章科技  今日头条  Tags:数据挖掘   点击:(20)  评论:(0)  加入收藏
今天再给大家分享一个不错的可视化大屏分析平台模板DataColour。 data-colour 可视化分析平台采用前后端分离模式,后端架构设计采用微服务架构模式。 前端技术:Angularjs、Jq...【详细内容】
2021-11-04  web前端进阶    Tags:DashboardClient   点击:(39)  评论:(0)  加入收藏
在Kubernetes已经成了事实上的容器编排标准之下,微服务的部署变得非常容易。但随着微服务规模的扩大,服务治理带来的挑战也会越来越大。在这样的背景下出现了服务可观测性(obs...【详细内容】
2021-11-02  大数据推荐杂谈    Tags:Prometheus   点击:(40)  评论:(0)  加入收藏
同一产品对老客户的要价竟然比新客户要高?这是当下“大数据杀熟”的直接结果。近年来,随着平台经济的蓬勃发展,大数据在为用户服务之外,也引发了多种不合理现象。为了有效遏制“...【详细内容】
2021-10-29    海外网   Tags:大数据   点击:(31)  评论:(0)  加入收藏
本人03年开始从事贸易行业,多年来一直致力于外贸获客和跨境电商选品等领域,最近有些小伙伴反馈海关数据演示的都挺好为啥用起来不是那么回事?大家看到数据时关注的有产品、采购...【详细内容】
2021-10-28  QD云龙    Tags:数据   点击:(33)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条