Re: 1.15.2作业频繁(每 几十分钟 ~ 1小时)报 LocalTransportException: readAddress(..) failed: Connection timed out .
谢谢,不过这几个参数和netty关系不大吧。 heartbeat和akka的可能会和rpc超时有关,不过我这个是netty的报错,不是rpc部分。 web和rest应该是和client提交任务有关。 Stan1005 <532338...@qq.com.invalid> 于2022年12月7日周三 15:51写道: > > 我也遇到过,tm的slot数一直是2,并行度高了就很容易出这个报错。tm内存保持为20480mb,相同的job讲并行度降低到256就没有报过这个。 > 另外可以考虑适当增加这几个参数(具体需要改动哪些建议先搜下这些参数的作用) > set rest.connection-timeout=180; > set rest.idleness-timeout=180; > set heartbeat.timeout=180; > set akka.ask.timeout=180; > set web.timeout=180; > > > > -- 原始邮件 -- > 发件人: > "user-zh" > > 发送时间: 2022年12月6日(星期二) 晚上7:18 > 收件人: "user-zh" > 主题: 1.15.2作业频繁(每 几十分钟 ~ 1小时)报 LocalTransportException: readAddress(..) > failed: Connection timed out . > > > > 如题,这个问题长期存在,我想了解几个点: > (1)connection time out > 是连接时才会报的错误嘛?作业正常运行期间可能有嘛?我理解是连接时的报错,但是我看部分报错是作业运行不少时间才报错的(比如40分钟,1小时多),这种时刻为什么会有 > connect 操作呢?netty的connection不是在作业启动时,就发 partition request 的时候创建好的嘛。 > (2)之前调整过 netty 的 server 的 backlog,目前设置2048,不应该是这个导致。 > (3)之前我TM都是1个slot,netty的server thread默认就是1,后来设置成2,我考虑是不是因为netty server > thread太少导致来不及处理连接?所以出现 connection timeout?但是我加大了server thread > 到10还是没啥效果。而且也不至于,理论上netty server thread应该仅负责创建连接,都不负责具体的io,不应该是这个原因。 > > 大佬们,有人知道这个问题出现的场景嘛?就是啥情况会出现,是不是只有创建连接时存在 connection > timeout的概念呢?其次flink作业运行期间,除了作业启动后的一小段时间外,什么情况还需要建立 netty 连接呢? > 不考虑再提交作业,因为我的TM只有1个slot,而且这个集群只运行1个作业。
(无主题)
退订
Re:Re: 如何扩展flink sql以实现延迟调用?
谢谢你给的建议,不过我们还没有升级到flink 1.16,目前在使用的是flink 1.15。 如果要使用flink sql来实现的话,是不是可以利用窗口去重来达到数据延迟关联的效果? 在每条数据到达后开一个10分钟累加窗口(step和size均为10分钟)根据key去重,在等待窗口结束之时输出的去重结果再跟维表进行lookup join 在 2022-12-07 13:33:50,"Lincoln Lee" 写道: >双流 join 的场景下可以考虑关联条件引入时间属性,变成 interval join 可以实现一定的时间对齐( >https://nightlies.apache.org/flink/flink-docs-release-1.16/docs/dev/table/sql/queries/joins/#interval-joins >) >另外如果可以使用 lookup join 单边驱动关联并且不是所有数据都需要等待的话,可以尝试 lookup join 的延迟重试 >https://nightlies.apache.org/flink/flink-docs-release-1.16/docs/dev/table/sql/queries/hints/#3-enable-delayed-retry-strategy-for-lookup > >Best, >Lincoln Lee > > >casel.chen 于2022年12月7日周三 11:52写道: > >> 有人能够解答一下吗? >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> 在 2022-11-26 11:20:34,"casel.chen" 写道: >> >双流关联场景下,流A数据到达后并不马上和流B进行关联,而是经过设置一段时间后再关联,这种场景下如何用flink >> sql实现?如果当前不支持,需要怎样扩展flink sql呢? >>
Re:Re: 如何扩展flink sql以实现延迟调用?
interval join的缺点是只能输出关联上的结果,却无法输出未能关联上的结果(后续我需要对未关联上的结果进行特殊处理) 在 2022-12-07 13:33:50,"Lincoln Lee" 写道: >双流 join 的场景下可以考虑关联条件引入时间属性,变成 interval join 可以实现一定的时间对齐( >https://nightlies.apache.org/flink/flink-docs-release-1.16/docs/dev/table/sql/queries/joins/#interval-joins >) >另外如果可以使用 lookup join 单边驱动关联并且不是所有数据都需要等待的话,可以尝试 lookup join 的延迟重试 >https://nightlies.apache.org/flink/flink-docs-release-1.16/docs/dev/table/sql/queries/hints/#3-enable-delayed-retry-strategy-for-lookup > >Best, >Lincoln Lee > > >casel.chen 于2022年12月7日周三 11:52写道: > >> 有人能够解答一下吗? >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> 在 2022-11-26 11:20:34,"casel.chen" 写道: >> >双流关联场景下,流A数据到达后并不马上和流B进行关联,而是经过设置一段时间后再关联,这种场景下如何用flink >> sql实现?如果当前不支持,需要怎样扩展flink sql呢? >>
flink 1.16 lookup join重试策略问题
我们有场景会发生维表数据后于事实流表数据到达,使用flink 1.16 lookup join重试策略时,如果超过重试次数还没关联上会发生什么?待关联字段值都为null么?
Re: flink 1.16 lookup join重试策略问题
如果结束时还未关联上,就视为当前记录不存在,按 inner join 过滤或 left join 补 null 值 https://nightlies.apache.org/flink/flink-docs-release-1.16/zh/docs/dev/table/sql/queries/hints/#%e5%bc%80%e5%90%af%e7%bc%93%e5%ad%98%e5%af%b9%e9%87%8d%e8%af%95%e7%9a%84%e5%bd%b1%e5%93%8d Best, Lincoln Lee casel.chen 于2022年12月7日周三 23:40写道: > 我们有场景会发生维表数据后于事实流表数据到达,使用flink 1.16 lookup > join重试策略时,如果超过重试次数还没关联上会发生什么?待关联字段值都为null么?
提交任务不能指定第三方jar
客户端提交flink job 不能提交依赖的第三方jar,例如自定的函数jar,sql 里面的依赖connector jar,需要提前放置好。如果基于flink 平台化,需要动态的添加jar。目前可能的做法,就是把依赖的jar, 动态的添加作业jar 的lib目录下。getJobJarAndDependencies 就是从jar 中获取依赖的jar。不是很方便。 是可以添加一个参数,指定依赖的jar,flink 设计各种诡异。 [image: image.png]
Re: 提交任务不能指定第三方jar
为啥说 不能提交依赖的第三方jar?用户的 job 把这些包打进去不就好了吗? 还是说你指的是 sql 作业? Best regards, Yuxia 发件人: "melin li" 收件人: "user-zh" 发送时间: 星期四, 2022年 12 月 08日 上午 9:46:45 主题: 提交任务不能指定第三方jar 客户端提交flink job 不能提交依赖的第三方jar,例如自定的函数jar,sql 里面的依赖connector jar,需要提前放置好。如果基于flink 平台化,需要动态的添加jar。目前可能的做法,就是把依赖的jar, 动态的添加作业jar 的lib目录下。 getJobJarAndDependencies 就是从jar 中获取依赖的jar。不是很方便。 是可以添加一个参数,指定依赖的jar, flink 设计各种诡异。
Re: 提交任务不能指定第三方jar
如果是作业依赖的jar,是可以打一个flat jar。有两种场景: 1、sql作业中,用户依赖某个connector jar,但平台不提供这个connector,需要用户上传, 2、自定义udf 管理,依赖的jar 需要和任务一起提交。 yuxia 于2022年12月8日周四 10:06写道: > 为啥说 不能提交依赖的第三方jar?用户的 job 把这些包打进去不就好了吗? 还是说你指的是 sql 作业? > > Best regards, > Yuxia > > > 发件人: "melin li" > 收件人: "user-zh" > 发送时间: 星期四, 2022年 12 月 08日 上午 9:46:45 > 主题: 提交任务不能指定第三方jar > > 客户端提交flink job 不能提交依赖的第三方jar,例如自定的函数jar,sql 里面的依赖connector > jar,需要提前放置好。如果基于flink 平台化,需要动态的添加jar。目前可能的做法,就是把依赖的jar, 动态的添加作业jar 的lib目录下。 > getJobJarAndDependencies 就是从jar 中获取依赖的jar。不是很方便。 是可以添加一个参数,指定依赖的jar, flink > 设计各种诡异。 > >
Re: 1.15.2作业频繁(每 几十分钟 ~ 1小时)报 LocalTransportException: readAddress(..) failed: Connection timed out .
目前感觉和 https://issues.apache.org/jira/browse/FLINK-19249 和 https://issues.apache.org/jira/browse/FLINK-16030 有点类似。网络环境不稳定。相同配置在物理机没问题。 yidan zhao 于2022年12月7日周三 16:11写道: > > 谢谢,不过这几个参数和netty关系不大吧。 > heartbeat和akka的可能会和rpc超时有关,不过我这个是netty的报错,不是rpc部分。 > web和rest应该是和client提交任务有关。 > > Stan1005 <532338...@qq.com.invalid> 于2022年12月7日周三 15:51写道: > > > > 我也遇到过,tm的slot数一直是2,并行度高了就很容易出这个报错。tm内存保持为20480mb,相同的job讲并行度降低到256就没有报过这个。 > > 另外可以考虑适当增加这几个参数(具体需要改动哪些建议先搜下这些参数的作用) > > set rest.connection-timeout=180; > > set rest.idleness-timeout=180; > > set heartbeat.timeout=180; > > set akka.ask.timeout=180; > > set web.timeout=180; > > > > > > > > -- 原始邮件 -- > > 发件人: > > "user-zh" > > > > > 发送时间: 2022年12月6日(星期二) 晚上7:18 > > 收件人: "user-zh" > > > 主题: 1.15.2作业频繁(每 几十分钟 ~ 1小时)报 LocalTransportException: readAddress(..) > > failed: Connection timed out . > > > > > > > > 如题,这个问题长期存在,我想了解几个点: > > (1)connection time out > > 是连接时才会报的错误嘛?作业正常运行期间可能有嘛?我理解是连接时的报错,但是我看部分报错是作业运行不少时间才报错的(比如40分钟,1小时多),这种时刻为什么会有 > > connect 操作呢?netty的connection不是在作业启动时,就发 partition request 的时候创建好的嘛。 > > (2)之前调整过 netty 的 server 的 backlog,目前设置2048,不应该是这个导致。 > > (3)之前我TM都是1个slot,netty的server thread默认就是1,后来设置成2,我考虑是不是因为netty server > > thread太少导致来不及处理连接?所以出现 connection timeout?但是我加大了server thread > > 到10还是没啥效果。而且也不至于,理论上netty server thread应该仅负责创建连接,都不负责具体的io,不应该是这个原因。 > > > > 大佬们,有人知道这个问题出现的场景嘛?就是啥情况会出现,是不是只有创建连接时存在 connection > > timeout的概念呢?其次flink作业运行期间,除了作业启动后的一小段时间外,什么情况还需要建立 netty 连接呢? > > 不考虑再提交作业,因为我的TM只有1个slot,而且这个集群只运行1个作业。