章节摘要:本章跟着一场大促前夜的值守走一条线——把作业部署到最合适的形态、给集群配上双保险、架起监控仪表盘,最后演练一次反压急救。四站从"住在哪"走到"活得久",终点是让你在业务方狂欢时安心睡觉:告警会喊你,恢复有预案,一切尽在仪表盘。
主线是一场大促的前夜。倒计时三天,值班工程师的清单排成一列:确认所有实时作业的部署形态经得住流量翻倍;把 JobManager 的单点隐患消掉;给监控大盘补上大促专用视图;预演一遍"峰值来了反压告警"的急救动作。这条清单恰好覆盖本章四站——部署模式决定作业住在哪、怎么申请资源;高可用决定元数据与大脑挂掉后谁来接管;监控与诊断决定你能不能在业务方之前发现异常;反压定位则是流量峰值最常考的急救科目。
第 5 章写完的代码在这一章接受另一种考验:写代码考的是逻辑力,养作业考的是预见力。两者的区别在于——代码错了立刻报错,运维欠账则潜伏数月,在最重要的时刻集中爆发。所以这一章的知识都以"预案"的形态交付:每节结尾给的不是配置清单,而是一份可以打印贴墙的检查单。
6.1 部署模式——住房选择。Standalone、YARN、Kubernetes 三种形态的结构与取舍;会话型与单作业型(Application 模式)的资源隔离差异;大促扩容时各自的伸缩路径。你会得到一张"新集群起步选什么"的决策卡。
6.2 高可用配置——双保险。JobManager 主备选举的原理、元数据外置到分布式存储的必要性、恢复时间目标的构成。目标是把"大脑宕机导致全集群作业失效"的极端场景,变成一次分钟级的自动接管。
6.3 监控与诊断——仪表盘。四层指标体系(集群、作业、算子、checkpoint)各盯什么;Prometheus 生态如何接入;从告警到定位的标准作业程序。本节是第 4.2 节"心跳体检四指标"的体系化展开。
6.4 反压定位排错实录——急救演练。以一起"大促零点反压雪崩"为标本,从 Web UI 的反压视图到 Flame Graph 的热点分析,完整走一遍"发现拥堵 → 逐级回溯 → 锁定瓶颈 → 降级止血"的处置链。
四站是值守清单的四个抽屉,也是能力递进的四级台阶:先有立身之所(部署),再有不死之身(高可用),然后长出眼睛(监控),最后练出双手(急救)。跳过前三站直奔 6.4 的人,急救时连指标在哪都找不到。
本章的认知拐点在 6.2:多数人以为高可用就是"多起几台机器",理解主备选举与元数据外置后才会明白——高可用的本质是把"人记住的东西"全部外化:谁是主、作业的图长什么样、快照存在哪,全都写进分布式存储与协调服务,任何一台机器死了,接任者从公共账本上读取全部真相。机器可以死,真相不能死,这就是 6.2 全部的哲学。
最终落点是一份"大促值守四件套":部署形态过一遍扩容演练,高可用过一遍主备切换演练,监控大盘过一遍告警链路测试,反压急救过一遍 Flame Graph 分析。四件套齐了,大促夜里你才有资格睡觉——因为所有可能的意外,都已预演过。
作业稳了,数据的进出通道也该盘一盘:上游数据从哪来、下游结果去哪、数据库的变更如何变成流。第 7 章我们盘点 Flink 的生态与连接器,那是把作业接入真实业务的血管网络。
金句:运维的功夫全在事故之外——没有预演过的深夜,都算裸奔。