谢谢回复。
你所说的并行度随意设置,我不清楚是什么意思
我在on yarn模式提交job时,比如设置job并行度是25,那么在hadoop yarn portal中看到的VCores Used
就是25,也就是说它就是申请了25个CPU
可是在standalone模式下(3台机器,每台机器4个CPU),那我设置的并行度最大是不是就是12呢?超过这个数量就会报错,资源不够之类的错误提示。
其实这样三台机器组成的flink集群,往往可申请的可用slot并不是12个,而是小于12个,是不是因为当下CPU剩余量不够,可申请到的slot才达不到12个?
-
并行度和CPU的核数没啥关系。
设置slot数量也不代表使用多少个CPU。
--
Sent from: http://apache-flink.147419.n8.nabble.com/
如果是 standalone的模式部署在一台机器上,那么据我了解,只会有一个TM,一个TM可以有多个slot
Jacob <17691150...@163.com> 于2021年1月22日周五 下午4:18写道:
> 使用Flink以来,一直有一个问题困扰着。
>
>
> Flink 设置n个并行度后,是指占用n个CPU,而不是n个CPU核数。
>
> 比如Flink消费kafka
>
>
不清楚你为啥需要想这些,集群的并行度你随意设置就好,考虑CPU核数等的地方都只是考虑理想情况的并发。
比如你CPU最高10个核,来20个线程也没办法“并行”,但是可以“并发”。如果你的线程事情很少,10个并发是无法占满10个CPU核的,所以没任何理由因为CPU核的数量去限制你的并发度。
Jacob <17691150...@163.com> 于2021年1月22日周五 下午4:18写道:
> 使用Flink以来,一直有一个问题困扰着。
>
>
> Flink 设置n个并行度后,是指占用n个CPU,而不是n个CPU核数。
>
> 比如Flink消费kafka
>
>
使用Flink以来,一直有一个问题困扰着。
Flink 设置n个并行度后,是指占用n个CPU,而不是n个CPU核数。
比如Flink消费kafka
topic时,并行度数量往往都建议设置topic分区的个数,意在让每个并行度消费一个分区,达到性能最优。那也就是说一个并行度代表一个消费线程,同时也表示一个slot,又由于在Flink中一个并行度表示一个CPU,那么是不是可以理解为一个CPU就是一个线程。
如果FLink 以standalone的模式部署在一台机器上,这台机器有4个CPU,每个CPU有6个核,那么该集群的最大并行度是不是就是 4 ?