我有以下设置:
Installation type k8s: 1.18
Flink version: 1.12
1 Job Manager
2 Task Manager
在任务管理器的flink-conf.yaml中
flink-conf.yaml: |
state.backend: rocksdb
blob.server.port: 6124
jobmanager.rpc.port: 6123
parallelism.default: 2
queryable-state.proxy.ports: 6125
taskmanager.numberOfTaskSlots: 2
taskmanager.rpc.port: 6122
jobmanager.memory.process.size: 2900m
taskmanager.memory.process.size: 2900m
jobmanager.web.address: 0.0.0.0
rest.address: 0.0.0.0
rest.bind-address: 0.0.0.0
在job manager的flink-conf.yaml中
flink-conf.yaml: |
state.backend: rocksdb
blob.server.port: 6124
jobmanager.rpc.port: 6123
parallelism.default: 2
queryable-state.proxy.ports: 6125
taskmanager.rpc.port: 6122
jobmanager.memory.process.size: 2900m
taskmanager.memory.process.size: 2900m
jobmanager.web.address: 0.0.0.0
rest.address: 0.0.0.0
rest.bind-address: 0.0.0.0
rest.port: 8081
使用上述配置,只有一个任务管理器处于活动状态,即获取流量,而另一个任务管理器保持空闲,即使事件数量增加到极端水平。
如果我遗漏了什么,请提出建议?
答案 0 :(得分:0)
您已将并行度设置为 2,并为每个任务管理器分配了 2 个插槽。因此,单个任务管理器可以提供请求的并行性,这就是默认情况下会发生的情况。
如果您希望调度程序的行为不同,您可以设置
cluster.evenly-spread-out-slots: true
或者您可以将 taskmanager.numberOfTaskSlots
减少到 1。