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

Apache NiFi 1.19.0 Docker容器启动失败求助

解决Apache NiFi 1.19.0 Docker容器启动失败问题

问题场景

执行Docker Hub官方命令启动NiFi 1.19.0容器:

docker run --name nifi \
  -p 8443:8443 \
  -d \
  apache/nifi:1.19.0

容器启动失败,核心报错为Java无法创建GC线程,提示系统资源不足。该版本将Java从8升级到11,旧版本无此问题。

错误日志关键片段

replacing target file  /opt/nifi/nifi-current/conf/nifi.properties
...
NiFi running with PID 40.
tail: cannot open '/opt/nifi/nifi-current/logs/nifi-app.log' for reading: No such file or directory

Java home: /opt/java/openjdk
NiFi home: /opt/nifi/nifi-current

Bootstrap Config File: /opt/nifi/nifi-current/conf/bootstrap.conf

[0.003s][warning][os,thread] Failed to start thread "GC Thread#0" - pthread_create failed (EPERM) for attributes: stacksize: 1024k, guardsize: 4k, detached.
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Cannot create worker GC thread. Out of system resources.
# An error report file with more information is saved as:
# /opt/nifi/nifi-current/hs_err_pid40.log

解决办法

1. 增加容器内存分配

启动时指定容器可用内存,避免系统资源不足:

docker run --name nifi \
  -p 8443:8443 \
  -d \
  -m 2g \
  apache/nifi:1.19.0

可根据主机资源调整内存值(如-m 4g)。

2. 调整NiFi Java堆内存配置

通过环境变量覆盖默认堆内存设置,适配Java 11的内存需求:

docker run --name nifi \
  -p 8443:8443 \
  -d \
  -e NIFI_JVM_HEAP_INIT=1g \
  -e NIFI_JVM_HEAP_MAX=1g \
  apache/nifi:1.19.0

建议初始堆与最大堆值保持一致,减少内存波动。

3. 组合优化(推荐)

同时配置容器内存和Java堆内存,确保容器内存≥Java最大堆内存:

docker run --name nifi \
  -p 8443:8443 \
  -d \
  -m 2g \
  -e NIFI_JVM_HEAP_INIT=1g \
  -e NIFI_JVM_HEAP_MAX=1g \
  apache/nifi:1.19.0

额外提示

日志中NIFI_WEB_PROXY_HOST was not set的提示,若需外部访问NiFi UI,可添加环境变量:

-e NIFI_WEB_PROXY_HOST=你的主机IP:8443

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 11:05:23