Re: 1.15.2作业频繁(每 几十分钟 ~ 1小时)报 LocalTransportException: readAddress(..) failed: Connection timed out .

2022-12-07 Thread yidan zhao
谢谢,不过这几个参数和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个作业。


(无主题)

2022-12-07 Thread zhufangliang
退订




Re:Re: 如何扩展flink sql以实现延迟调用?

2022-12-07 Thread casel.chen
谢谢你给的建议,不过我们还没有升级到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以实现延迟调用?

2022-12-07 Thread casel.chen
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重试策略问题

2022-12-07 Thread casel.chen
我们有场景会发生维表数据后于事实流表数据到达,使用flink 1.16 lookup 
join重试策略时,如果超过重试次数还没关联上会发生什么?待关联字段值都为null么?

Re: flink 1.16 lookup join重试策略问题

2022-12-07 Thread Lincoln Lee
如果结束时还未关联上,就视为当前记录不存在,按 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

2022-12-07 Thread melin li
客户端提交flink job 不能提交依赖的第三方jar,例如自定的函数jar,sql 里面的依赖connector
jar,需要提前放置好。如果基于flink 平台化,需要动态的添加jar。目前可能的做法,就是把依赖的jar, 动态的添加作业jar
的lib目录下。getJobJarAndDependencies
就是从jar 中获取依赖的jar。不是很方便。 是可以添加一个参数,指定依赖的jar,flink 设计各种诡异。
[image: image.png]


Re: 提交任务不能指定第三方jar

2022-12-07 Thread yuxia
为啥说 不能提交依赖的第三方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

2022-12-07 Thread melin li
如果是作业依赖的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 .

2022-12-07 Thread yidan zhao
目前感觉和 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个作业。