Re:Re: 如何在flink中正确使用外部数据库连接

2022-07-25 文章 lxk
谢谢
我现在使用的是直连的方式,也没有关闭preparedstatement和resultset,但是没有发生过内存泄漏的问题,请问了解这背后的原因吗

















在 2022-07-25 13:53:42,"Lijie Wang"  写道:
>Hi,
>根据我的经验,使用连接池时,至少需要及时关掉 statement/ResultSet,否则查询的结果会一直缓存,会有内存泄漏的问题。
>
>Best,
>Lijie
>
>lxk7...@163.com  于2022年7月23日周六 15:34写道:
>
>>
>> 目前的项目中,需要使用外部数据库进行实时的look up。实时的主流数据量一天在百万级别,能用到的外部数据库有Mysql,Clickhouse
>> 以及Redis缓存。
>> 现在是将数据实时落到Clickhouse,然后Flink实时的去look up
>> clickhouse。(虽然知道Clickhouse并发性能不强,但目前能用的就只有这个了,需要存储千万级别的数据)
>> 测试了两种方式:
>>
>> 1.使用JDBC连接池的方式去查询,Druid连接池以及C3P0连接池都用过,但是程序都是运行一段时间就会报OOM(有可能是使用方式不对)。通过dump日志排查的时候发现连接池的方式会将很多信息保留下来,所以最终没有使用这种方式。同时的话,在flink内部使用连接池的时候也没有显示的关闭连接。只在Close方法中调用了关闭。
>> 2.使用DriverManager获取连接查询。这种方式目前测试下来,程序是稳定运行的,也没有报OOM。同时也没有去关闭连接。
>>
>> 问题:1.如何正确在flink内部使用外部数据库连接,使用数据池的方式,个人理解连接的管理都是由数据池来做的,所以不需要去显示close。同时的话,个人认为实时的程序去查,这个连接就会一直占用着,也无需关闭。简言之,无论是数据池还是直连,需不需要在invoke方法中关闭连接?还是只用在close方法中关闭连接。
>>   2.这种实时的look up除了缓存之外还有没有其他更好的优化手段?或者有什么其他的方案可以替代?
>>
>>
>> lxk7...@163.com
>>


Re: Flink应用高可靠

2022-07-25 文章 Zhanghao Chen
冷备部署的话可以通过一个外围的作业管控服务定期做 savepoint 并拷贝到另一条链路的 HDFS 集群上,故障时从另一条链路重启作业即可。

Best,
Zhanghao Chen

From: andrew <15021959...@163.com>
Sent: Monday, July 25, 2022 10:05:39 PM
To: user-zh 
Subject: Flink应用高可靠

Dear Flink:
  你好! 
现有一个需求,Flink实时计算平台任务对下游用户很重要,不能出问题。单位准备搭建一套灾备大数据实时集群(kakfa/yarn/hdfs)去部署相同的Flink任务,做应用热备或冷备部署!
 下游业务系统没有做双活热备部署! 疑问是:
   1.  主集群故障,切换灾备集群
  涉及有大量带中间状态的数据实时应用一旦主集群出问题,灾备集群如何同步最新状态的数据进行计算
   2.  主集群若恢复,灾备集群切换后的正常任务如何做数据回迁处理


针对上述需求,社区有没有案例可以提供测试验证!谢谢


Re: 如何获取Job启动时间

2022-07-25 文章 Weihua Hu
Hi,当前的确没有太多的打点和日志,按照我们的经验,需要在代码流程中插入一些日志和打点来辅助做基准测试
Best,
Weihua


On Fri, Jul 22, 2022 at 6:50 PM 邹璨  wrote:

> Hi,
> 有个问题想请教一下~
> 项目需要优化Job启动时间,并做基准测试。查阅资料后发现下面博客中做过类似的测试:
> https://flink.apache.org/2022/01/04/scheduler-performance-part-one.html
> 但不知道里面的时间是如何获取的,不知是否有对应的指标或日志,还是只能人为观测。
>
> 谢谢~
>
> 此电子邮件及其包含的信息将仅发送给上面列出的收件人,必须加以保护,并且可能包含法律或其他原因禁止披露的信息。
> 如果您不是此电子邮件的预期收件人,未经许可,您不得存储、复制、发送、分发或披露它。 禁止存储、复制、发送、分发或披露电子邮件的任何部分。
> 如果此电子邮件发送不正确,请立即联系 NAVER Security(dl_naversecur...@navercorp.com
> )。然后删除所有原件、副本和附件。谢谢您的合作。
> ​
> This email and the information contained in this email are intended solely
> for the recipient(s) addressed above and may contain information that is
> confidential and/or privileged or whose disclosure is prohibited by law or
> other reasons.
> If you are not the intended recipient of this email, please be advised
> that any unauthorized storage, duplication, dissemination, distribution or
> disclosure of all or part of this email is strictly prohibited.
> If you received this email in error, please immediately contact NAVER
> Security (dl_naversecur...@navercorp.com) and delete this email and any
> copies and attachments from your system. Thank you for your cooperation.​
>


Re: flink on yarn 作业挂掉反复重启

2022-07-25 文章 Weihua Hu
可以检查下是不是 JobManager 内存不足被 OOM kill 了,如果有更多的日志也可以贴出来

Best,
Weihua


On Mon, Jul 18, 2022 at 8:41 PM SmileSmile  wrote:

> hi,all
> 遇到这种场景,flink on yarn,并行度3000的场景下,作业包含了多个agg操作,作业recover from checkpoint
> 或者savepoint必现无法恢复的情况,作业反复重启
> jm报错org.apache.flink.runtime.entrypoint.ClusterEntrypoint[] -
> RECEIVED S
> IGNAL 15: SIGTERM. Shutting down as requested.
>
> 请问有什么好的排查思路吗
>
>
>
>
>


Flinksql 计算特征标签自身状态变化

2022-07-25 文章 andrew
Dear Flink:
一需求, FlinkSQL可以用udf实现,捕获标签值的变化。
例如: 若当前用户由低端用户变为中端用户或由中端用户变为高端用户,输出只要用户state状态发生变化,结果用户状态打标为1,反之为0;


有什么好的实现方式没?

Flink应用高可靠

2022-07-25 文章 andrew
Dear Flink:
  你好! 
现有一个需求,Flink实时计算平台任务对下游用户很重要,不能出问题。单位准备搭建一套灾备大数据实时集群(kakfa/yarn/hdfs)去部署相同的Flink任务,做应用热备或冷备部署!
 下游业务系统没有做双活热备部署! 疑问是:
   1.  主集群故障,切换灾备集群
  涉及有大量带中间状态的数据实时应用一旦主集群出问题,灾备集群如何同步最新状态的数据进行计算
   2.  主集群若恢复,灾备集群切换后的正常任务如何做数据回迁处理


针对上述需求,社区有没有案例可以提供测试验证!谢谢