成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

實戰:如何實時采集上億級別數據?

大數據
本篇主要是借鑒這個需求講解Logstash在實際場景中的使用以及優化,其他兩個部分流程不做詳細講解。

背景介紹

  • 公司業務系統做優化改造,同時為了能夠實現全鏈路監控,需收集所有業務系統之間的調用日志。
  • 數據情況:每天20億+
  • 機器成本:3臺kafka集群,2臺logstash采集機器
  • 技術:Java,MQ,MLSQL,Logstash

[[340286]]

下圖為最終結果圖

采集流程 

實戰:如何實時采集上億級別數據?

流程分解

流程一: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呢,這里有兩點:

  • MLSQL寫入hdfs會產生大量的小文件,需要單獨開發合并文件的功能
  • 最后寫入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端的優化其實只涉及到消費端的優化。這里只調節了兩個參數

  1. :數據壓縮
  2. :消費者線程數

3.hdfs優化

logstash寫入hdfs的部分不用使用自帶的webhdfs插件,而是自定義的插件。

因自定義插件中涉及到文件鎖的問題,會通過比對前后兩次文件是否一致來進行文件最后的刷寫,所以這里只能通過減少文件的更新頻率來減少上下文的切換以及刷寫操作

4.ES優化

es部分的優化也只是涉及到寫優化,比如批量寫入、調大線程數、增加refresh間隔、禁止swapping交換內存、禁止refresh和replica操作,調大index buffer等操作。

 

責任編輯:未麗燕 來源: 今日頭條
相關推薦

2015-04-09 14:26:07

2023-12-07 07:46:21

MySQL寫入點LSN

2020-08-17 08:21:31

數據查詢項目

2020-03-18 16:15:21

億級搜索數據

2024-08-22 14:16:08

2024-03-11 16:01:29

BitMap數據去重開發

2017-12-22 10:34:02

大數據AI存儲

2020-08-06 08:00:51

數據分頁優化

2019-05-22 15:57:11

面試ES性能數據

2020-07-08 13:46:25

Python數據分析預處理

2021-10-14 09:51:17

架構運維技術

2024-02-19 00:06:06

數據分析系統Doris

2022-09-01 08:42:36

SQL數據項目

2024-02-05 13:28:00

Excel優化服務器

2023-06-29 08:22:43

數據Excel模板

2021-12-03 10:47:28

WOT技術峰會技術

2011-04-07 13:53:04

SQL Server數

2020-08-13 08:24:18

MySQLESMongoDB

2012-11-05 11:01:28

日立存儲技術玻璃
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区在线观看免费视频 | 欧美国产91 | 久久国产精品视频免费看 | 成人一级视频在线观看 | 精品国产一区二区三区观看不卡 | 中文字幕在线第一页 | 一级欧美黄色片 | 国产激情一区二区三区 | 麻豆久久精品 | 亚洲码欧美码一区二区三区 | 操人网站| 亚洲精品成人网 | 精品国产乱码久久久久久丨区2区 | 欧美一区二区在线观看 | 91在线观看视频 | 亚洲综合色丁香婷婷六月图片 | 中文字幕免费中文 | 国外成人在线视频网站 | 国产一级在线观看 | 一区二区三区视频在线观看 | 91 中文字幕 | 欧美精品综合在线 | 国产精彩视频 | 中国黄色在线视频 | 成人欧美一区二区三区在线观看 | 久久99精品国产麻豆婷婷 | 精品日本久久久久久久久久 | 在线一区二区观看 | 一级片av | 国产精品九九视频 | 三级国产三级在线 | 精品一二区 | 伊人免费视频二 | 国产激情一区二区三区 | 国产成人高清成人av片在线看 | 日韩在线三级 | 91精品国产91 | .国产精品成人自产拍在线观看6 | 久久精品视频在线观看 | 成人福利网站 | 国产乱码精品一区二区三区忘忧草 |