You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by 老胡 <23...@qq.com.INVALID> on 2023/02/11 20:20:52 UTC

回复:关于flink的几个问题

请求下 application 节点直接运行 算在的mian方法,那taskmanange有什么用? 只给session用吗?




------------------&nbsp;原始邮件&nbsp;------------------
发件人: "老胡"<2372554140@qq.com.INVALID&gt;; 
发送时间: 2023年2月12日(星期天) 凌晨3:30
收件人: "user-zh"<user-zh@flink.apache.org&gt;; 
主题: 关于flink的几个问题



大家好,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 有几个问题非常困扰,


第一个,client是如何发布job的。


下面两个命令的 target与jobmanager(-m)都无效

./bin/flink run --target kubernetes-session&amp;nbsp; --jobmanager 127.0.0.1:8081


./bin/flink run --target kubernetes-session&amp;nbsp; -m 127.0.0.1:8081


flink可执行文件最后是执行:org.apache.flink.clent.cli.CliFrontend ,run方法最后直接执行mian方法。




./bin/flink run-application





第二个, session行为是如何操作的


./bin/flink run --target kubernetes-session&amp;nbsp; --jobmanager 127.0.0.1:8081


./bin/flink run --target kubernetes-session&amp;nbsp; -m 127.0.0.1:8081


flink可执行文件最后是执行:org.apache.flink.clent.cli.CliFrontend ,run方法最后直接执行mian方法。根本没有执行 --target参数的行为。yarm-session也不会执行。最后只有执行最后的方法


第三个&amp;nbsp; application 与session
对比了docs/content.zh/docs/deployment/resource-providers/standalone/kubernetes.md里面生成pom的yaml内容,发现除了启动对象的区别,与参数区别之外没人任何区别
application 启动 standalonejob --&amp;gt; org.apache.flink.container.entrypoint.StandaloneApplicationClusterEntryPoint


session启动 standalonesession --&amp;gt; org.apache.flink.container.entrypoint.StandaloneSessionClusterEntryPoint




application与session不应该是task的行为吗? 为什么是Cluster的行为。

application与session整个创建过程除了两个不同之外,其他全部一样。


application没有找到接收job的handler,session有接收job的handler




第四个,一个job,如何分配资源的?
不管 application与session模式,都希望job能够执行并行度,可以让多个task并行执行。
但是
1. run 本地执行main方法
2. run-application 按照targer的值,通过yaml或则kubernetes的client创建对应的application
3. jabmaster里面并没有发现对parallelism进行操作,值操作一个slot
4. 发现kubernetesApplicationClusterEntryPoint或则kubernetesSessionClusterEntryPoint会主动创建taskmanage,实在没有发现出发点在哪里。




麻烦,官方大佬回答下,非常感谢。最重要的 run是如何发布job的。


弱弱的表示下:第一次在源码上需要请问人。

回复:关于flink的几个问题

Posted by 老胡 <23...@qq.com.INVALID>.
非常抱歉,代码隐藏得太深了。找到tager的执行代码,在ExecutionEnvironment的execute执行流程里面。




------------------&nbsp;原始邮件&nbsp;------------------
发件人:                                                                                                                        "老胡"                                                                                    <2372554140@qq.com&gt;;
发送时间:&nbsp;2023年2月12日(星期天) 凌晨4:20
收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;"user-zh"<user-zh@flink.apache.org&gt;;

主题:&nbsp;回复:关于flink的几个问题



 




------------------ 原始邮件 ------------------
发件人: "老胡"<2372554140@qq.com.INVALID&gt;; 
发送时间: 2023年2月12日(星期天) 凌晨3:30
收件人: "user-zh"<user-zh@flink.apache.org&gt;; 
主题: 关于flink的几个问题



大家好,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 有几个问题非常困扰,


第一个,client是如何发布job的。


下面两个命令的 target与jobmanager(-m)都无效

./bin/flink run --target kubernetes-session&amp;nbsp; --jobmanager 127.0.0.1:8081


./bin/flink run --target kubernetes-session&amp;nbsp; -m 127.0.0.1:8081


flink可执行文件最后是执行:org.apache.flink.clent.cli.CliFrontend ,run方法最后直接执行mian方法。




./bin/flink run-application





第二个, session行为是如何操作的


./bin/flink run --target kubernetes-session&amp;nbsp; --jobmanager 127.0.0.1:8081


./bin/flink run --target kubernetes-session&amp;nbsp; -m 127.0.0.1:8081


flink可执行文件最后是执行:org.apache.flink.clent.cli.CliFrontend ,run方法最后直接执行mian方法。根本没有执行 --target参数的行为。yarm-session也不会执行。最后只有执行最后的方法


第三个&amp;nbsp; application 与session
对比了docs/content.zh/docs/deployment/resource-providers/standalone/kubernetes.md里面生成pom的yaml内容,发现除了启动对象的区别,与参数区别之外没人任何区别
application 启动 standalonejob --&amp;gt; org.apache.flink.container.entrypoint.StandaloneApplicationClusterEntryPoint


session启动 standalonesession --&amp;gt; org.apache.flink.container.entrypoint.StandaloneSessionClusterEntryPoint




application与session不应该是task的行为吗? 为什么是Cluster的行为。

application与session整个创建过程除了两个不同之外,其他全部一样。


application没有找到接收job的handler,session有接收job的handler




第四个,一个job,如何分配资源的?
不管 application与session模式,都希望job能够执行并行度,可以让多个task并行执行。
但是
1. run 本地执行main方法
2. run-application 按照targer的值,通过yaml或则kubernetes的client创建对应的application
3. jabmaster里面并没有发现对parallelism进行操作,值操作一个slot
4. 发现kubernetesApplicationClusterEntryPoint或则kubernetesSessionClusterEntryPoint会主动创建taskmanage,实在没有发现出发点在哪里。




麻烦,官方大佬回答下,非常感谢。最重要的 run是如何发布job的。


弱弱的表示下:第一次在源码上需要请问人。