0%
B站Flink教程视频观看
作业运行环境
为什么作业延时了
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| 时间类型 Processing Time Event Time Ingestion Time
延时特殊定义 Delay = 当前系统时间 - Event Time 反应处理数据的进度情况 延时定义 自定义Source源解析中加入Gauge类型指标埋点,汇报如下指标: 记录最新的一条数据中的EventTime,在汇报指标时使用当前系统时间-EventTime 记录读取到数据的系统时间-数据中的EventTime,直接汇报差值 Fetch_delay = 读取到数据的系统时间 - Event Time 反应实时计算的实际处理能力
延时分析 几个上游源头,每个源头的并发问题 是否上游数据稀疏导致 作业性能问题
|
为什么作业Failover了
1 2 3 4 5 6 7 8 9 10
| JM ZK访问超时 长时间GC 资源问题 主机层面问题 TM 上下游异常 数据问题 Runtime异常 主机层面异常
|
作业无法提交,异常停止
1 2 3 4 5 6 7 8 9
| 无法提交 Yarn问题-资源限制 HDFS问题-Jar包过大,DFS异常 JM资源不足,无法响应TM注册 TM启动过程中异常
异常停止-指标监控无法覆盖 重启策略配置错误 重启次数达到上限
|
延时问题处理方式
1 2 3 4 5 6 7 8 9 10
| 延时与吞吐 确定延时节点以及时间 反压分析 找到反压源节点 指标分析 查看一段时间相关指标 堆栈 找到指定节点JVM进程,分析Jstack等堆栈信息 相关日志 查看TM相关日志是否有异常
|
作业性能问题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| 延时与吞吐 延时指标 TPS输出 节点输入输出
反压 反压源头节点 节点连接方式Shuffle/Rebalance/Hash 节点各并发情况 业务逻辑,是否有正则,外部系统访问等
指标 GC时间 GC次数 State性能,CK情况 外部系统访问延时
堆栈 节点所在TM进行 查看线程TID CPU使用情况,确定CPU还是IO问题 ps H -p ${javapid} -o user,pid,ppid,tid,time,%cpu,cmd 转换为16进制后查看tid具体堆栈 jstack ${javapid} > jstack.log
|
常见处理方式
1 2 3 4 5 6 7 8 9 10
| 调整节点并发 性能瓶颈节点增加并发 调整节点资源 增加节点CPU,内存 拆分节点 将chain起来的消耗资源较多的operator拆开,增加并发 作业/集群优化 主键设置,数据去重,数据倾斜 GC参数 JM参数
|
作业Failover分析
1 2 3 4
| Failover信息 是否频繁Failover节点SubTask->TM Job/TaskManager日志 Yarn/OS相关日志
|
作业生命周期
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| 作业状态变化JobStatus Created Running Finished Cancelling Canceled Failing Failed Restarting Suspended Task状态变化ExecutionState Created Scheduled Deploying Running Failed Finished Canceling Canceled
|
工具化经验
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| 指标 延时与吞吐 衡量Flink作业的黄金指标 外部系统调用 外部系统耗时 缓存名字 排除外部系统因素 基线管理 State访问延时 CK耗时 排查异常问题 日志 错误日志 关键字及错误日志报警 事件日志 采集关键日志信息,形成关键事件 日志收集 存储关键信息 日志分析 日志聚类,Failover建议等
关联分析 集群环境各组件关联分析 作业指标/事件-TM,JM Yarn事件-资源抢占,NodeManager Decommission 机器异常-宕机,替换 Failover日志聚类
|