《企业级云原生白皮书项目实战》——第五章 大数据——5.3 实时计算Flink版——5.3.3 任务性能(2) https://developer.aliyun.com/article/1228338?groupCode=supportservice
5.3.3.2 数据倾斜排查方案
5.3.3.2.1 数据倾斜的现象
数据倾斜的现象就是由于数据分布不均匀,造成数据大量的集中到一点,造成数据热点。
目前我们所知道的大数据处理框架,比如 Flink、Spark、Hadoop 等之所以能处理高达千亿的数据,是因为这些框架都利用了分布式计算的思想,集群中多个计算节点并行,使得数据处理能力能得到线性扩展。
在实际生产中 Flink 都是以集群的形式在运行,在运行的过程中包含了两类进程。其中 TaskManager 实际负责执行计算的 Worker,在其上执行 Flink Job 的一组 Task,Task 则是我们执行具体代码逻辑的容器。理论上只要我们的任务 Task 足够多就可以对足够大的数据量进行处理。
但是实际上大数据量经常出现,一个 Flink 作业包含 200 个 Task 节点,其中有 199 个节点可以在很短的时间内完成计算。但是有一个节点执行时间远超其他结果,并且随着数据量的持续增加,导致该计算节点挂掉,从而整个任务失败重启。我们可以在 Flink 的管理界面中看到任务的某一个 Task 数据量远超其他节点。
《企业级云原生白皮书项目实战》——第五章 大数据——5.3 实时计算Flink版——5.3.3 任务性能(4) https://developer.aliyun.com/article/1228336