0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

大数据计算引擎,你pick哪个?

8g3K_AI_Thinker 来源:人工智能头条 2019-11-22 15:07 次阅读

不知道你是否有过和我类似的经历?

我是 2018 年 6 月加入公司,一直负责监控平台的告警系统。之后,我们的整个监控平台架构中途换过两次,其中一次架构发生了巨大的变化。我们监控告警平台最早的架构如下图所示:

这个架构的挑战难点在于:

海量的监控数据(Metric & Log & Trace 数据)实时写入 ElasticSearch;

多维度的监控指标页面展示(Dashboard) 查 ElasticSearch 的数据比较频繁;

不断递增的告警规则需要通过查询 ElasticSearch 数据来进行判断是否要告警。

从上面的几个问题我们就可以很明显的发现这种架构的瓶颈就在于 ElasticSearch 集群的写入和查询能力,在海量的监控数据(Metric & Log & Trace 数据)下实时的写入对 ElasticSearch 有极大的影响。 我依然清楚记得,当时经常因为写入的问题导致 ElasticSearch 集群挂掉,从而让我的告警和监控页面(Dashboard)歇菜(那会老被喷:为啥配置的告警规则没有触发告警?为啥查看应用的 Dashboard 监控页面没数据)。我也很无奈啊,只想祈祷我们的 ElasticSearch 集群稳一点。

01

初次接触 Flink

在如此糟糕的架构情况下,我们挺过了几个月,后面由于一些特殊的原因,我们监控平台组的整体做了一个很大的架构调整,如下图:

主要做了四点改变:

接入 Flink 集群去消费 Kafka 数据,告警的 Flink Job 消费 Kafka 数据去判断异常点,然后做告警

Metric & Trace 数据存储到 ElasticSearch,之前还存储在 ElasticSearch 中的有 Log 数据

Log 数据存储到 Cassandra

Dashboard 查询数据增加 API 查询 Cassandra 的日志数据

原先因为 Metric & Trace & Log 的数据量一起全部实时写入到 ElasticSearch 中,对 ElasticSearch 的压力很大,所以我们将 Log 的数据拆分存储到 Cassandra 中,分担了一些 ElasticSearch 的写入压力。 但是过后我们发现偶尔还会出现数据实时写入到 ElasticSearch 集群把 ElasticSearch 写挂的情况。所以那会不断调优我们的写入数据到 ElasticSearch 的 Flink Job,然后也对 ElasticSearch 服务端做了不少的性能调优。 另外那会我们的监控数据是以 10s 一次为单位将采集的数据发上来的,后面我们调整了下数据采集的策略(变成 30s 一次为单位采集数据),采取多种调优策略后,终于将我们的 ElasticSearch 弄稳定了。

02

遇到 Flink 相关的挑战

替换成这种新架构后,由于组里没人熟悉 Flink,再加上那会儿 Flink 的资料真的很少很少,所以当时在组里对 Flink 这块大家都是从 0 开始学习,于大家而言挑战还挺大的。

那时候我们跑在 Flink 上面的 Job 也遇到各种各样的问题:

消费 Kafka 数据延迟

checkpoint 失败

窗口概念模糊、使用操作有误

Event Time 和 Processing Time 选择有误

不知道怎么利用 Watermark 机制来处理乱序和延迟的数据

Flink 自带的 Connector 的优化

Flink 中的 JobManager 和 TaskManager 经常挂导致 Flink Job 重启

Flink 集群模式的选型

...

因为碰到的各种各样的问题,所以才会促使我们不断地学习 Flink 的原理和内部机制,然后慢慢去解决上面遇到的各种问题,并逐步稳定我们监控平台运行的 Flink Job。

03

为什么要学习 Flink?

随着大数据的不断发展,对数据的及时性要求越来越高,实时场景需求也变得越来越多,主要分下面几大类:

那么为了满足这些实时场景的需求,衍生出不少计算引擎框架,现有市面上的大数据计算引擎的对比如下:

可以发现无论从 Flink 的架构设计上,还是从其功能完整性和易用性来讲都是领先的,再加上Flink 是阿里巴巴主推的计算引擎框架,所以从去年开始就越来越火了! 虽然市面上讲 Flink 的太少太少,国内的中文资料太欠缺,已有的几本书籍也不甚详尽,但是国内在阿里的推动下,我相信 Flink 会越来越火的,并且阿里内部也将 Flink 做了一定的优化和修改,叫 Blink,今年年初也将源码贡献到 Flink 上面,后面在 Flink 1.9 版本会将 Blink 的功能进行合并到 Flink 上去。 目前,阿里巴巴、腾讯、美团、华为、滴滴出行、携程、饿了么、爱奇艺、有赞、唯品会等大厂都已经将 Flink 实践于公司大型项目中,带起了一波 Flink 风潮,势必也会让 Flink 人才市场产生供不应求的招聘现象。

04

我为什么要写 FLink 专栏?

在这个过程中我持续记录自己的 Flink 学习之路,目前已经对外公布了 20+ 篇 Flink 的个人学习博客,同时好多对 Flink 感兴趣的童鞋也加我一起讨论问题。 每天群里的童鞋会提很多遇到的 Flink 问题,但是我发现得到的回答比较少,其实这并不是因为群里大佬不活跃,而是因为大家对 Flink 的了解还不是很多,比如有的是大数据工程师但之前是搞 Spark 这块的,有的是转大数据开发的后端开发工程师,有的是对 Flink 这块比较感兴趣的研究生等。 因为自己就是从 Flink 小白过来的,所以知道初学者可能会遇到的哪些问题。当你回首的时候,你可能会发现,这么简单的问题自己当时那么费力地折腾了半天都出不来。这种时候要是有人指点一下,可以节省多少功夫啊! 所以自己在心里萌生了一个想法:写一个 Flink 专栏帮助大家尽快地从小白阶段过渡到入门阶段,然后再从入门到能够将 Flink 用上,在生产环境真正把你的 Flink Job 运行起来,再做到能够根据你生产环境出现的错误进行排查并解决,还能根据你的 Job 的运行状况进一步优化!

专栏亮点

全网首个使用最新版本 Flink 1.9 进行内容讲解(该版本更新很大,架构功能都有更新),领跑于目前市面上常见的 Flink 1.7 版本的教学课程。

包含大量的实战案例和代码去讲解原理,有助于读者一边学习一边敲代码,达到更快,更深刻的学习境界。目前市面上的书籍没有任何实战的内容,还只是讲解纯概念和翻译官网。

在专栏高级篇中,根据 Flink 常见的项目问题提供了排查和解决的思维方法,并通过这些问题探究了为什么会出现这类问题。

在实战和案例篇,围绕大厂公司的经典需求进行分析,包括架构设计、每个环节的操作、代码实现都有一一讲解。

专栏内容

预备篇

介绍实时计算常见的使用场景,讲解 Flink 的特性,并且对比了 Spark Streaming、Structured Streaming 和 Storm 等大数据处理引擎,然后准备环境并通过两个 Flink 应用程序带大家上手 Flink。

基础篇

深入讲解 Flink 中 Time、Window、Watermark、Connector 原理,并有大量文章篇幅(含详细代码)讲解如何去使用这些 Connector(比如 Kafka、ElasticSearch、HBase、Redis、MySQL 等),并且会讲解使用过程中可能会遇到的坑,还教大家如何去自定义 Connector。

进阶篇

讲解 Flink 中 State、Checkpoint、Savepoint、内存管理机制、CEP、Table/SQL API、Machine Learning 、Gelly。在这篇中不仅只讲概念,还会讲解如何去使用 State、如何配置 Checkpoint、Checkpoint 的流程和如何利用 CEP 处理复杂事件。

高级篇

重点介绍 Flink 作业上线后的监控运维:如何保证高可用、如何定位和排查反压问题、如何合理的设置作业的并行度、如何保证 Exactly Once、如何处理数据倾斜问题、如何调优整个作业的执行效率、如何监控 Flink 及其作业?

实战篇

教大家如何分析实时计算场景的需求,并使用 Flink 里面的技术去实现这些需求,比如实时统计 PV/UV、实时统计商品销售额 TopK、应用 Error 日志实时告警、机器宕机告警。这些需求如何使用 Flink 实现的都会提供完整的代码供大家参考,通过这些需求你可以学到 ProcessFunction、Async I/O、广播变量等知识的使用方式。

系统案例篇

讲解大型流量下的真实案例:如何去实时处理海量日志(错误日志实时告警/日志实时 ETL/日志实时展示/日志实时搜索)、基于 Flink 的百亿数据实时去重实践(从去重的通用解决方案 --> 使用 BloomFilter 来实现去重 --> 使用 Flink 的 KeyedState 实现去重)。


▲Flink 专栏思维导图

多图讲解 Flink 知识点

▲Flink 支持多种时间语义

▲Flink 提供灵活的窗口

▲Flink On YARN

▲Flink Checkpoint

▲Flink 监控

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 监控平台
    +关注

    关注

    0

    文章

    26

    浏览量

    8457
  • 大数据
    +关注

    关注

    64

    文章

    8644

    浏览量

    136587

原文标题:大数据计算引擎,你 pick 哪个?

文章出处:【微信号:AI_Thinker,微信公众号:人工智能头条】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    CYBT-343026传输大数据时会丢数据的原因?

    我正在使用 CYBT-343026 (CYW-20706 Silicon) 模块。 我根据 SPP 样本制作了一个操作 SPP 的应用程序。 但是,传输大数据时有时会丢失数据。 它从
    发表于 03-01 15:04

    GPU:大数据时代的强力引擎

    精度和方案开发速度。无论是图像识别、语音文字处理、机器翻译(MT),还是自动驾驶、虚拟现实(VR)和增强现实(AR)等行业应用,GPU在大数据存储、清洗、预处理以及
    的头像 发表于 01-04 08:27 368次阅读
    GPU:<b class='flag-5'>大数据</b>时代的强力<b class='flag-5'>引擎</b>

    AI引擎内核与计算图编程指南

    电子发烧友网站提供《AI引擎内核与计算图编程指南.pdf》资料免费下载
    发表于 01-03 10:50 0次下载
    AI<b class='flag-5'>引擎</b>内核与<b class='flag-5'>计算</b>图编程指南

    Get职场新知识:做分析,用大数据分析工具

    综合分析。但现在有了大数据分析工具,一切问题都可迎刃而解。 大数据分析工具,顾名思义就是专门为分析海量数据而开发的一类工具。这类工具具有极强的大数据分析、指标
    发表于 12-05 09:36

    亿达科创 | 以大数据引擎 释放数智生产力

    随着大数据上升为国家战略,数据作为新型生产要素,在提高生产效率、实现智能生产、提升资源配置效能、激发新动能等方面具有巨大应用潜能,是推动数字经济发展的核心动力。 聚焦大数据服务,亿达科创近年来面向
    的头像 发表于 09-26 15:50 255次阅读

    加速大数据计算存储应用

    电子发烧友网站提供《加速大数据计算存储应用.pdf》资料免费下载
    发表于 09-15 15:05 0次下载
    加速<b class='flag-5'>大数据</b>和<b class='flag-5'>计算</b>存储应用

    人工智能和大数据哪个

    人工智能和大数据哪个好 人工智能和大数据是当前科技领域最为火热的两个话题,吸引了越来越多的关注和研究。随着技术的不断发展和应用,这两者已经成为了现代社会中不可缺少的一部分,对于企业和个人的发展都有
    的头像 发表于 08-12 17:44 702次阅读

    大数据和人工智能哪个

    大数据和人工智能哪个好 随着技术的不断发展,大数据和人工智能成为了当前最热门的话题之一,而且这两项技术也各有优缺点。下面我们将探讨一下大数据和人工智能
    的头像 发表于 08-12 17:39 1447次阅读

    100G光模块的应用案例分析:电信、云计算大数据领域

    100G光模块是一种高速光模块,由于其高速率和低延迟的特性,在电信、云计算大数据领域得到了广泛的应用。在本文中,我们将深入探讨100G光模块在这三个领域的应用案例。
    的头像 发表于 08-07 18:00 456次阅读
    100G光模块的应用案例分析:电信、云<b class='flag-5'>计算</b>和<b class='flag-5'>大数据</b>领域

    大数据未来的前景怎么样?

    随着科技的迅猛发展和互联网的普及,大数据已成为当今社会中不可或缺的重要资源。大数据是指庞大而复杂的数据集合,这些数据通过高级计算技术进行处理
    的头像 发表于 07-28 15:03 1969次阅读

    大数据计算框架简介(2)#大数据分析

    大数据分析
    学习硬声知识
    发布于 :2023年07月13日 18:15:35

    大数据计算框架简介(1)#大数据分析

    大数据分析
    学习硬声知识
    发布于 :2023年07月13日 18:14:55

    大数据与云计算的关系(2)#大数据分析

    大数据分析
    学习硬声知识
    发布于 :2023年07月13日 00:12:15

    6类网线和5类网线你pick哪个

    和5类网线的区别,大家再决定pick哪类。 6类网线和5类网线主要在内部结构,铜芯大小,传输带宽上有区别。内部结构上,六类网线内部结构具有十字骨架,而五类线不具有此类结构;铜芯大小上,六类网线标准的为0.56mm-0.58mm,五类网线铜芯为
    的头像 发表于 06-25 10:31 1182次阅读
    6类网线和5类网线你<b class='flag-5'>pick</b><b class='flag-5'>哪个</b>

    大数据是什么 大数据存储的概念 大数据应用场景有哪些

    大数据的成功管理取决于几个方面,例如数据的收集、存储、处理、分析和可视化。在大数据的处理过程中,各种技术和算法也被不断地应用于解决各种问题。大数据技术将继续发展和应用于各种领域,成为管
    发表于 05-03 09:23 2798次阅读