flink中zk引起的重启怎么解决


这篇文章主要介绍“flink中zk引起的重启怎么解决”,在日常操作中,相信很多人在flink中zk引起的重启怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”flink中zk引起的重启怎么解决”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!最近用flink on k8s跑程序的过程中,发现某个时刻经常导致程序重启,定时任务每天加载一次缓存,该缓存有大量数据,加载时长需要60-90s左右。这个定时任务经常会导致k8s重启程序,使其极不稳定,于是各种调优。怀疑可能是算子的sender和receiver之间因为加载缓存导致某种通信不可达,默认的心跳时间是50s,于是修改参数:he 香港云主机artbeat.timeout: 180000,heartbeat.interval: 20000。jobmanager和taskmanager是用akka通信,修改参数akka.ask.timeout: 240s。这些操作之后,偶尔还是会在加载缓存的时候发现异常,日志截取如下再经过调查发现,这个跟zk有关系,zk在切换leader或者遇到网络波动之类的,会触发SUSPENDED状态,这个状态,会导致lost the leadership错误,而遇到这个错误,k8s直接就重启程序。其实访问zk还是正常的。 再经过一系列调查,这种问题别人早就遇到,还改了代码,就是flink官方没合并代码。调查的过程不表,有用的链接如下https://www.cnblogs.com/029zz010buct/p/10946244.html这个有用的是升级curator包, flink用的是2.12.0,暂时没去操作,里面提到的SessionConnectionStateErrorPolicy是在4.x版本的,应该还是要去编译部分代码。https://github.com/apache/flink/pull/9066 https://issues.apache.org/jira/browse/FLINK-10052这个是其他人的解决方案,本人用的也是这个方法。 不把SUSPENDED状态认为是lost leadership,修改LeaderLatch的handleStateChange方法找到这段代码之后,自然是找到了flink-shaded-hadoop-2-uber-xxx.jar这个包,在flink1.10的版本,还支持hadoop的这个包,在1.11之后已经不再主动支持,需要的要自己去下载,因为这个包在打镜像时会特意加上去,所以目标锁定这个包,重新编译。简单说下编译过程https://github.com/apache/curator/tree/apache-curator-2.12.0 下载这个版本的源码,修改curator-recipes下的src/main/java/org/apache/curator/framework/recipes/leader/LeaderLatch.java,修改内容如上所示,打的包是2.12.0。https://github.com/apache/flink-shaded/tree/release-10.0 下载flink-shaded 1.10版本的源码,修改flink-shaded-hadoop-2-parent的pom文件,增加exclusion,去掉curator-recipes的依赖,增加自己编译的curator-recipes。观察到不去掉依赖,默认是2.7.1版本,应该是这块代码好多年没动过,版本一直停留在2.7.1。因为我们用的是2.8.3-10.0版本的,源码是2.4.1的,修改成2.8.3看根目录的readme.md,在flink-shaded-release-10.0/flink-shaded-hadoop-2-parent目录运行mvn package -Dshade-sources打包,打包完成之后,用工具反编译观察一下,SUSPENDED的代码确实去掉了,重新打镜像,跑程序。到此,关于“flink中zk引起的重启怎么解决”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注开发云网站,小编会继续努力为大家带来更多实用的文章!

相关推荐: leetcode如何实现重复至少K次且长度为M的模式

这篇文章将为大家详细讲解有关leetcode如何实现重复至少K次且长度为M的模式,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。给你一个正整数数组 arr,请你找出一个长度为 m 且在数组中至少重复 k 次的模式。模式 是由一…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 10/14 22:49
下一篇 10/14 22:49

相关推荐