您当前的位置:首页 > 养生 > 内容

大数据计算引擎,你pick哪个软件_大数据计算引擎你pick哪个

大数据计算引擎,你pick哪个软件_大数据计算引擎你pick哪个

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

2018年6月入职,一直负责监控平台的报警系统。之后我们整个监控平台架构改了两次,一次架构大改。我们的监控和报警平台的最早架构如下图所示:

这种架构的挑战和困难是:

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

多维监控索引页面仪表盘,经常查询ElasticSearch的数据;

增加的报警规则需要查询ElasticSearch数据来判断是否报警。

从上面的问题中,我们可以清楚地发现,这种架构的瓶颈在于ElasticSearch集群的写和查询能力,海量监控数据(Metric Log Trace data)下的实时写对ElasticSearch影响很大。我还清楚的记得那时候的ElasticSearch集群经常因为写问题挂掉,让我的报警和监控仪表盘关闭(那会一直被喷:配置的报警规则为什么不触发报警?没有用于查看应用程序的仪表板监视页面的数据)。我也很无奈。我只想祈祷我们的ElasticSearch集群能够保持稳定。

01

第一次接触弗林克

在这样糟糕的建筑中,我们幸存了几个月。后来由于一些特殊原因,我们对整个监控平台组进行了一次大的架构调整,如下图所示:

主要做了四点改动:

访问Flink集群消耗Kafka数据,报警Flink作业消耗Kafka数据判断异常点,然后报警。

度量跟踪数据存储在ElasticSearch中,并且有以前存储在ElasticSearch中的日志数据。

日志数据存储在Cassandra中。

仪表板查询数据添加API来查询Cassandra的日志数据

本来Metric Trace Log的所有数据都是实时写入ElasticSearch的,对ElasticSearch的压力很大,所以我们把Log的数据拆分出来存储在Cassandra中,分担了ElasticSearch的一些写压力。但后来我们发现,偶尔会有数据实时写入ElasticSearch集群,写入ElasticSearch。因此,这将不断调整我们的写数据,以Flink工作的弹性搜索,然后做了很多性能调整的弹性搜索服务器。另外,当时我们的监测数据是以10s为单位发送的。后来我们调整了数据收集的策略(以30s为单位收集数据),采用了各种优化策略后,终于稳定了我们的ElasticSearch。

02

遭遇与Flink相关的挑战

换成这种新架构后,因为组里没人熟悉Flink,而且当时关于Flink的资料真的很少,所以组里的每个人都是从0开始学习Flink,这对每个人来说都是相当大的挑战。

当时,我们在Flink上运行的作业也遇到了各种问题:

消费卡夫卡数据延迟

检查点失败。

窗口概念模糊,操作错误。

选择事件时间和处理时间时出错。

我不知道如何使用水印机制来处理乱序和延迟数据

Flink附带的连接器优化

Flink中的JobManager和TaskManager经常挂起,导致Flink作业重启。

Flink集群模式的选择

.

因为遇到的各种问题,我们会不断学习Flink的原理和内部机制,然后慢慢解决上面遇到的各种问题,逐步稳定我们监控平台运行的Flink作业。

03

为什么要学Flink?

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

然后为了满足这些实时场景的需求,衍生出了很多计算引擎框架。市场上现有的大数据计算引擎对比如下:

可以发现,Flink在架构设计、功能完整性、易用性方面都是领先的,而且Flink是阿里巴巴力推的计算引擎框架,所以从去年开始越来越受欢迎!虽然市面上关于Flink的书籍太少,国内的中文资料也太少,现有的书籍也不是很详细,但是相信在阿里的推动下,Flink在国内会越来越受欢迎,阿里也对Flink做了一些优化和修改,今年年初叫Flink 1.9,源代码也贡献给了Flink,后面的1.9版本会把Flink的功能合并到Flink中。目前,阿里巴巴、腾讯、美团、华为、滴滴出行、携程、饿了么、爱奇艺、有赞、唯品会等大公司都在公司大型项目中实践了Flink,掀起了一股Flink热潮。势必会让Flink人才市场供不应求。

04

我为什么要写FLink专栏?

在这个过程中,我不停地记录着自己对Flink的学习之路。目前我已经发表了20篇Flink的个人学习博客,很多对Flink感兴趣的童鞋也加入到我的讨论议题中。每天群里的童鞋都会问很多Flink的问题,但是我发现回答的比较少。其实这并不是因为群里的大佬不积极,而是大家对Flink了解不多。比如有的是大数据工程师,但以前从事Spark,有的是后端开发工程师转大数据开发,有的是研究生对Flink感兴趣。因为我来自弗林克小白,我知道初学者可能会遇到什么问题。当你回头看的时候,你可能会发现,这么简单的一个问题,你挣扎了那么久,都走不出来。如果这个时候有人给你一些建议,你能省多少力气!于是我脑子里有了一个想法:写一个Flink专栏,帮助大家尽快从小白阶段过渡到入门阶段,再从入门阶段过渡到能够使用Flink,真正在生产环境中运行你的Flink作业,然后调查解决你的生产环境中的错误,根据作业的运行状态进一步优化!

专栏重点

全网率先使用Flink 1.9最新版本讲解内容(该版本有较大更新,架构和功能都有更新),领先目前市面上Flink 1.7的常用教学课程。

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

在专栏的高级部分,根据Flink常见的项目问题,提供了故障排除和解决的思维方法,并通过这些问题,探究此类问题产生的原因。

在实战和案例研究中,分析了大昌公司的经典需求,包括架构设计、各个环节的操作和代码实现。

列内容

预备文章

介绍了实时计算的常见使用场景,说明了Flink的特点,比较了Spark Streaming、结构化流、Storm等大数据处理引擎,然后通过两个Flink应用准备环境,带你去Flink。

基本物品

深入讲解Flink中时间、窗口、水印、连接器的原理,并有大量文章(包括详细代码)讲解如何使用这些连接器(如Kafka、ElasticSearch、HBase、Redis、MySQL等。),并讲解使用过程中可能遇到的坑,还教你如何定制连接器。

进步文章

在Flink中解释状态、检查点、保存点、内存管理机制、CEP、Table/SQL API、机器学习和Gelly。在本文中,我们不仅会讨论概念,还会解释如何使用状态、如何配置检查点、检查点流程以及如何使用CEP处理复杂事件。

高级文章

主要介绍了Flink作业上线后的监控运维:如何保证高可用性,如何定位和排查反压问题,如何合理设置作业的并行度,如何保证一次正好,如何处理数据倾斜问题,如何优化整个作业的执行效率,如何监控Flink及其作业。

实战篇

教你如何分析实时计算场景的需求,利用Flink中的技术实现这些需求,比如PV/UV的实时统计,商品销售TopK的实时统计,利用错误日志的实时报警,机器停机报警等。Flink是如何实现这些需求的,会提供完整的代码供大家参考。通过这些需求,可以学习如何使用ProcessFunction、异步I/O、广播变量等知识。

系统案例文章

讲解大流量下的真实案例:如何实时处理海量日志(错误日志的实时报警/日志的实时ETL/of/日志的实时显示/日志的实时搜索),以及基于Flink的百亿级数据实时重复数据删除的实践(来自重复数据删除的一般解决方案——使用BloomFilter实现重复数据删除——使用Flink的KeyedState实现重复数据删除)。

Flink专栏思维导图

Flink知识点多图讲解

Flink支持多时间语义。

Flink提供灵活的窗口。

纱线上的Flink

弗林克检查站

Flink监控

标签:Flink数据问题


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 念念无明阿芊扮演者? 念念无明在线观看

下一篇: 小说app哪个最好(现在比较好的小说软件有哪些)



猜你感兴趣

推荐阅读

网站内容来自网络,如有侵权请联系我们,立即删除! | 软文发布 | 粤ICP备2021106084号