You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux虚拟机首次运行Flink WordCount遇NoResourceAvailableException

核心错误定位

从异常栈的根因org.apache.flink.runtime.jobmanager.scheduler.NoResourceAvailableException: Could not acquire the minimum required resources可以确定:虚拟机的资源不足以支撑Flink任务启动,这也是相同安装包在另一台机器能正常运行的原因。

排查与修复步骤

1. 检查虚拟机资源现状

先确认机器的CPU和内存是否足够:

# 查看内存使用
free -h
# 查看CPU负载和进程占用
top

Flink默认要求每个TaskManager至少1GB内存、1个CPU核心,JobManager至少512MB内存。如果虚拟机空闲资源低于这个标准,必须先扩容或释放资源。

2. 调低Flink资源需求

修改conf/flink-conf.yaml,降低任务的资源阈值:

# 减少JobManager内存
jobmanager.memory.process.size: 512m
# 减少TaskManager内存
taskmanager.memory.process.size: 1g
# 限制TaskManager的slot数量(每个slot对应一个CPU核心)
taskmanager.numberOfTaskSlots: 1

修改后重启Flink集群:

./bin/stop-cluster.sh && ./bin/start-cluster.sh

3. 改用本地模式运行

单节点虚拟机上,直接以本地模式启动任务,避免集群模式的额外资源开销:

./bin/flink run -m local examples/streaming/WordCount.jar

4. 检查系统资源限制

Linux系统的进程资源限制可能会导致Flink无法获取足够资源:

ulimit -a

重点关注open files和max user processes,如果数值过低,修改/etc/security/limits.conf:

* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536

修改后重新登录生效。

5. 验证集群状态

启动集群后,访问http://<虚拟机IP>:8081,确认JobManager和TaskManager正常在线,且有可用的task slots。


内容的提问来源于stack exchange,提问作者lanny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 23:54:49