大佬,我还有个问题,如果是打散分发的话,意思是一个job一个taskmanager?感觉这样才能把任务日志分开,如果一个taskmanager里有多个job是不是还会出现类似的情况?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在Flink中,一个任务可以由多个并行的Task执行,而每个Task是由TaskManager上的一个Task Slot来执行的。当一个任务需要执行的并行度大于TaskManager上的可用Task Slot数时,Flink会将任务打散分发到多个TaskManager上执行。
具体来说,一个Job可以由多个TaskManager上的Task共同执行,而不是一个Job一个TaskManager。在一个TaskManager上可能会同时运行多个Job的Task,这些Task之间会共享TaskManager上的资源,如CPU、内存等。如果TaskManager上的资源不足以支撑这些Task,就会导致整体性能下降或者任务失败。
关于任务日志的分离,Flink会将每个Task的日志输出到对应的TaskManager上的日志文件中,这样可以方便地查看和分析Task的运行情况。而多个Job的Task共享TaskManager上的资源,它们的日志会混合在一起输出到同一个日志文件中,但是可以通过日志过滤功能或者日志分析工具来对日志进行过滤和分析。