关于flink检查点

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

关于flink检查点

half coke
请问下为什么flink没有支持自适应检查点间隔呢?是出于什么样的考虑吗?
Reply | Threaded
Open this post in threaded view
|

Re: 关于flink检查点

Congxian Qiu
hi

你说的间隔自适应是指什么呢?是指做 checkpoint 的间隔自动调整吗?

Best,
Congxian


half coke <[hidden email]> 于2020年4月15日周三 下午12:24写道:

> 请问下为什么flink没有支持自适应检查点间隔呢?是出于什么样的考虑吗?
>
Reply | Threaded
Open this post in threaded view
|

Re: 关于flink检查点

half coke
是的,根据任务负载的变化自动调整checkpoint的间隔,或者可以通过用户写的逻辑调整检查点。
刚开始学习flink,想请教一下。

Congxian Qiu <[hidden email]> 于2020年4月15日周三 下午12:33写道:

> hi
>
> 你说的间隔自适应是指什么呢?是指做 checkpoint 的间隔自动调整吗?
>
> Best,
> Congxian
>
>
> half coke <[hidden email]> 于2020年4月15日周三 下午12:24写道:
>
> > 请问下为什么flink没有支持自适应检查点间隔呢?是出于什么样的考虑吗?
> >
>
Reply | Threaded
Open this post in threaded view
|

flink-sql-connector-elasticsearch7_2.11-1.10.0.jar

samuel.qiu@ubtrobot.com
在提交job后,发现不成功,这个问题要怎么解决?
版本:Flink1.10.0  elasticsearch:7.6.0

看了源码,确实是没这个类的:

Caused by: java.lang.NoClassDefFoundError: org/apache/flink/elasticsearch7/shaded/org/elasticsearch/script/mustache/SearchTemplateRequest
    at org.apache.flink.streaming.connectors.elasticsearch7.Elasticsearch7ApiCallBridge.createClient(Elasticsearch7ApiCallBridge.java:76)
    at org.apache.flink.streaming.connectors.elasticsearch7.Elasticsearch7ApiCallBridge.createClient(Elasticsearch7ApiCallBridge.java:48)
    at org.apache.flink.streaming.connectors.elasticsearch.ElasticsearchSinkBase.open(ElasticsearchSinkBase.java:299)
    at org.apache.flink.api.common.functions.util.FunctionUtils.openFunction(FunctionUtils.java:36)
    at org.apache.flink.streaming.api.operators.AbstractUdfStreamOperator.open(AbstractUdfStreamOperator.java:102)
    at org.apache.flink.streaming.api.operators.StreamSink.open(StreamSink.java:48)
    at org.apache.flink.streaming.runtime.tasks.StreamTask.initializeStateAndOpen(StreamTask.java:1007)
    at org.apache.flink.streaming.runtime.tasks.StreamTask.lambda$beforeInvoke$0(StreamTask.java:454)
    at org.apache.flink.streaming.runtime.tasks.StreamTaskActionExecutor$SynchronizedStreamTaskActionExecutor.runThrowing(StreamTaskActionExecutor.java:94)
    at org.apache.flink.streaming.runtime.tasks.StreamTask.beforeInvoke(StreamTask.java:449)
    at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:461)
    at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:707)
    at org.apache.flink.runtime.taskmanager.Task.run(Task.java:532)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: org.apache.flink.elasticsearch7.shaded.org.elasticsearch.script.mustache.SearchTemplateRequest
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 14 more


谢谢!
Reply | Threaded
Open this post in threaded view
|

Re: flink-sql-connector-elasticsearch7_2.11-1.10.0.jar

Benchao Li
Hi,

这个是个已知问题[1],已经在1.10.1和master上修复了。你可以尝试下~

[1] https://issues.apache.org/jira/browse/FLINK-16170

[hidden email] <[hidden email]> 于2020年4月15日周三 下午5:37写道:

> 在提交job后,发现不成功,这个问题要怎么解决?
> 版本:Flink1.10.0  elasticsearch:7.6.0
>
> 看了源码,确实是没这个类的:
>
> Caused by: java.lang.NoClassDefFoundError:
> org/apache/flink/elasticsearch7/shaded/org/elasticsearch/script/mustache/SearchTemplateRequest
>     at
> org.apache.flink.streaming.connectors.elasticsearch7.Elasticsearch7ApiCallBridge.createClient(Elasticsearch7ApiCallBridge.java:76)
>     at
> org.apache.flink.streaming.connectors.elasticsearch7.Elasticsearch7ApiCallBridge.createClient(Elasticsearch7ApiCallBridge.java:48)
>     at
> org.apache.flink.streaming.connectors.elasticsearch.ElasticsearchSinkBase.open(ElasticsearchSinkBase.java:299)
>     at
> org.apache.flink.api.common.functions.util.FunctionUtils.openFunction(FunctionUtils.java:36)
>     at
> org.apache.flink.streaming.api.operators.AbstractUdfStreamOperator.open(AbstractUdfStreamOperator.java:102)
>     at
> org.apache.flink.streaming.api.operators.StreamSink.open(StreamSink.java:48)
>     at
> org.apache.flink.streaming.runtime.tasks.StreamTask.initializeStateAndOpen(StreamTask.java:1007)
>     at
> org.apache.flink.streaming.runtime.tasks.StreamTask.lambda$beforeInvoke$0(StreamTask.java:454)
>     at
> org.apache.flink.streaming.runtime.tasks.StreamTaskActionExecutor$SynchronizedStreamTaskActionExecutor.runThrowing(StreamTaskActionExecutor.java:94)
>     at
> org.apache.flink.streaming.runtime.tasks.StreamTask.beforeInvoke(StreamTask.java:449)
>     at
> org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:461)
>     at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:707)
>     at org.apache.flink.runtime.taskmanager.Task.run(Task.java:532)
>     at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.ClassNotFoundException: org.apache.flink.
> elasticsearch7.shaded.org
> .elasticsearch.script.mustache.SearchTemplateRequest
>     at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
>     at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
>     at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>     ... 14 more
>
>
> 谢谢!
>


--

Benchao Li
School of Electronics Engineering and Computer Science, Peking University
Tel:+86-15650713730
Email: [hidden email]; [hidden email]
Reply | Threaded
Open this post in threaded view
|

求依赖包

samuel.qiu@ubtrobot.com
In reply to this post by samuel.qiu@ubtrobot.com
大家好,有哪位大神有现成的包,非常感谢!

flink-connector-elasticsearch7_2.11


深圳市优必选科技股份有限公司 | 平台软件部

邱钺 Samuel Qiu
手机/微信: +0086 150 1356 8368

Email: [hidden email]

UBTECH Robotics  www.ubtrobot.com 

广东省深圳市南山区平山路鸿莱科创楼13栋3楼优必选

 
Date: 2020-04-15 17:37
Subject: flink-sql-connector-elasticsearch7_2.11-1.10.0.jar
在提交job后,发现不成功,这个问题要怎么解决?
版本:Flink1.10.0  elasticsearch:7.6.0

看了源码,确实是没这个类的:

Caused by: java.lang.NoClassDefFoundError: org/apache/flink/elasticsearch7/shaded/org/elasticsearch/script/mustache/SearchTemplateRequest
    at org.apache.flink.streaming.connectors.elasticsearch7.Elasticsearch7ApiCallBridge.createClient(Elasticsearch7ApiCallBridge.java:76)
    at org.apache.flink.streaming.connectors.elasticsearch7.Elasticsearch7ApiCallBridge.createClient(Elasticsearch7ApiCallBridge.java:48)
    at org.apache.flink.streaming.connectors.elasticsearch.ElasticsearchSinkBase.open(ElasticsearchSinkBase.java:299)
    at org.apache.flink.api.common.functions.util.FunctionUtils.openFunction(FunctionUtils.java:36)
    at org.apache.flink.streaming.api.operators.AbstractUdfStreamOperator.open(AbstractUdfStreamOperator.java:102)
    at org.apache.flink.streaming.api.operators.StreamSink.open(StreamSink.java:48)
    at org.apache.flink.streaming.runtime.tasks.StreamTask.initializeStateAndOpen(StreamTask.java:1007)
    at org.apache.flink.streaming.runtime.tasks.StreamTask.lambda$beforeInvoke$0(StreamTask.java:454)
    at org.apache.flink.streaming.runtime.tasks.StreamTaskActionExecutor$SynchronizedStreamTaskActionExecutor.runThrowing(StreamTaskActionExecutor.java:94)
    at org.apache.flink.streaming.runtime.tasks.StreamTask.beforeInvoke(StreamTask.java:449)
    at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:461)
    at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:707)
    at org.apache.flink.runtime.taskmanager.Task.run(Task.java:532)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: org.apache.flink.elasticsearch7.shaded.org.elasticsearch.script.mustache.SearchTemplateRequest
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 14 more


谢谢!
Reply | Threaded
Open this post in threaded view
|

Re: 求依赖包

Benchao Li
Hi,

这个问题是一个已知问题[1],已经在1.10.1和master修复了。但是现在1.10.1还没有发布。
你可以直接下载flink源码,用release-1.10分支编译一个。

[1] https://issues.apache.org/jira/browse/FLINK-16170

[hidden email] <[hidden email]> 于2020年4月16日周四 上午9:57写道:

> 大家好,有哪位大神有现成的包,非常感谢!
>
> flink-connector-elasticsearch7_2.11
>
> ------------------------------
>
> 深圳市优必选科技股份有限公司 | 平台软件部
>
> 邱钺 Samuel Qiu
> 手机/微信: +0086 150 1356 8368
>
> Email: [hidden email]
>
> *UBTECH Robotics **|** www.ubtrobot.com <http://www.ubtrobot.com>*
>
> 广东省深圳市南山区平山路鸿莱科创楼13栋3楼优必选
>
>
> *From:* [hidden email]
> *Date:* 2020-04-15 17:37
> *To:* user-zh <[hidden email]>
> *Subject:* flink-sql-connector-elasticsearch7_2.11-1.10.0.jar
> 在提交job后,发现不成功,这个问题要怎么解决?
> 版本:Flink1.10.0  elasticsearch:7.6.0
>
> 看了源码,确实是没这个类的:
>
> Caused by: java.lang.NoClassDefFoundError:
> org/apache/flink/elasticsearch7/shaded/org/elasticsearch/script/mustache/
> SearchTemplateRequest
>     at org.apache.flink.streaming.connectors.elasticsearch7.
> Elasticsearch7ApiCallBridge.createClient(Elasticsearch7ApiCallBridge.java:
> 76)
>     at org.apache.flink.streaming.connectors.elasticsearch7.
> Elasticsearch7ApiCallBridge.createClient(Elasticsearch7ApiCallBridge.java:
> 48)
>     at org.apache.flink.streaming.connectors.elasticsearch.
> ElasticsearchSinkBase.open(ElasticsearchSinkBase.java:299)
>     at org.apache.flink.api.common.functions.util.FunctionUtils
> .openFunction(FunctionUtils.java:36)
>     at org.apache.flink.streaming.api.operators.AbstractUdfStreamOperator
> .open(AbstractUdfStreamOperator.java:102)
>     at org.apache.flink.streaming.api.operators.StreamSink.open(StreamSink
> .java:48)
>     at org.apache.flink.streaming.runtime.tasks.StreamTask
> .initializeStateAndOpen(StreamTask.java:1007)
>     at org.apache.flink.streaming.runtime.tasks.StreamTask
> .lambda$beforeInvoke$0(StreamTask.java:454)
>     at org.apache.flink.streaming.runtime.tasks.
> StreamTaskActionExecutor$SynchronizedStreamTaskActionExecutor.runThrowing(
> StreamTaskActionExecutor.java:94)
>     at org.apache.flink.streaming.runtime.tasks.StreamTask.beforeInvoke(
> StreamTask.java:449)
>     at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(
> StreamTask.java:461)
>     at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:707)
>     at org.apache.flink.runtime.taskmanager.Task.run(Task.java:532)
>     at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.ClassNotFoundException:
> org.apache.flink.elasticsearch7.shaded.org.elasticsearch.script.mustache.
> SearchTemplateRequest
>     at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
>     at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
>     at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>     ... 14 more
>
>
> 谢谢!
>
>

--

Benchao Li
School of Electronics Engineering and Computer Science, Peking University
Tel:+86-15650713730
Email: [hidden email]; [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: 关于flink检查点

sysuke lee
In reply to this post by half coke
一点个人看法:
一般业务场景下,大家都需要对流任务的错误范围有个比较确定性的认知。比如设置固定的5min周期,就可以比较确定流处理即使failover,误差也能控制在五分钟内。
但如果是自适应的间隔,负载越高周期越长,但实际failover在高负载下出现的概率应该远大于低负载,这样的设置实用价值可能就并不太大了。

half coke <[hidden email]> 于2020年4月15日周三 下午4:15写道:

> 是的,根据任务负载的变化自动调整checkpoint的间隔,或者可以通过用户写的逻辑调整检查点。
> 刚开始学习flink,想请教一下。
>
> Congxian Qiu <[hidden email]> 于2020年4月15日周三 下午12:33写道:
>
> > hi
> >
> > 你说的间隔自适应是指什么呢?是指做 checkpoint 的间隔自动调整吗?
> >
> > Best,
> > Congxian
> >
> >
> > half coke <[hidden email]> 于2020年4月15日周三 下午12:24写道:
> >
> > > 请问下为什么flink没有支持自适应检查点间隔呢?是出于什么样的考虑吗?
> > >
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: 关于flink检查点

half coke
你好,我现在了解到有对检查点开销的问题建模中考虑到恢复时间等开销,当负载大时检查点间隔会缩短。其实问题也就是,在大负载情况下自动缩短检查点间隔这个动作在实际业务场景中有意义吗?谢谢

________________________________
发件人: Lee Sysuke <[hidden email]>
发送时间: Friday, April 17, 2020 10:41:42 AM
收件人: user-zh <[hidden email]>
主题: Re: 关于flink检查点

一点个人看法:
一般业务场景下,大家都需要对流任务的错误范围有个比较确定性的认知。比如设置固定的5min周期,就可以比较确定流处理即使failover,误差也能控制在五分钟内。
但如果是自适应的间隔,负载越高周期越长,但实际failover在高负载下出现的概率应该远大于低负载,这样的设置实用价值可能就并不太大了。

half coke <[hidden email]> 于2020年4月15日周三 下午4:15写道:

> 是的,根据任务负载的变化自动调整checkpoint的间隔,或者可以通过用户写的逻辑调整检查点。
> 刚开始学习flink,想请教一下。
>
> Congxian Qiu <[hidden email]> 于2020年4月15日周三 下午12:33写道:
>
> > hi
> >
> > 你说的间隔自适应是指什么呢?是指做 checkpoint 的间隔自动调整吗?
> >
> > Best,
> > Congxian
> >
> >
> > half coke <[hidden email]> 于2020年4月15日周三 下午12:24写道:
> >
> > > 请问下为什么flink没有支持自适应检查点间隔呢?是出于什么样的考虑吗?
> > >
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: 关于flink检查点

sysuke lee
大负载下缩短检查点间隔这个动作,是不是可以理解为,流量大的时候检查点间隔小,听上去可以自适应地保证检查点间隔时间内的流量。
但有个问题是检查点间隔缩短,意味着检查点的开销会增大,在本来由于业务流量造成的高负载情况下进一步提高节点的负载,不知道这种系统设计上会不会有困难。
还请其他大佬指教

coke half <[hidden email]> 于2020年4月18日周六 下午1:05写道:

>
> 你好,我现在了解到有对检查点开销的问题建模中考虑到恢复时间等开销,当负载大时检查点间隔会缩短。其实问题也就是,在大负载情况下自动缩短检查点间隔这个动作在实际业务场景中有意义吗?谢谢
>
> ________________________________
> 发件人: Lee Sysuke <[hidden email]>
> 发送时间: Friday, April 17, 2020 10:41:42 AM
> 收件人: user-zh <[hidden email]>
> 主题: Re: 关于flink检查点
>
> 一点个人看法:
>
> 一般业务场景下,大家都需要对流任务的错误范围有个比较确定性的认知。比如设置固定的5min周期,就可以比较确定流处理即使failover,误差也能控制在五分钟内。
> 但如果是自适应的间隔,负载越高周期越长,但实际failover在高负载下出现的概率应该远大于低负载,这样的设置实用价值可能就并不太大了。
>
> half coke <[hidden email]> 于2020年4月15日周三 下午4:15写道:
>
> > 是的,根据任务负载的变化自动调整checkpoint的间隔,或者可以通过用户写的逻辑调整检查点。
> > 刚开始学习flink,想请教一下。
> >
> > Congxian Qiu <[hidden email]> 于2020年4月15日周三 下午12:33写道:
> >
> > > hi
> > >
> > > 你说的间隔自适应是指什么呢?是指做 checkpoint 的间隔自动调整吗?
> > >
> > > Best,
> > > Congxian
> > >
> > >
> > > half coke <[hidden email]> 于2020年4月15日周三 下午12:24写道:
> > >
> > > > 请问下为什么flink没有支持自适应检查点间隔呢?是出于什么样的考虑吗?
> > > >
> > >
> >
>