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

升级Camunda Zeebe 8.3.1后Docker启动失败求助

问题:升级Camunda Zeebe至8.3.1后启动失败(GC线程创建失败)

将CAMUNDA_PLATFORM_VERSION从8.3.0-alpha3升级至8.3.1后,使用原有环境及docker-compose方式启动Zeebe时出现启动错误,执行命令为docker-compose up zeebe。

错误日志

zeebe          | Picked up JAVA_TOOL_OPTIONS: -Xms512m -Xmx512m
zeebe          | [0.002s][warning][os,thread] Failed to start thread "GC Thread#0" - pthread_create failed (EPERM) for attributes: stacksize: 1024k, guardsize: 4k, detached.
zeebe          | #
zeebe          | # There is insufficient memory for the Java Runtime Environment to continue.
zeebe          | # Cannot create worker GC thread. Out of system resources.
zeebe          | # An error report file with more information is saved as:
zeebe          | # /usr/local/zeebe/hs_err_pid8.log
zeebe exited with code 1

当前docker-compose.yml中Zeebe配置

zeebe: # https://docs.camunda.io/docs/self-managed/platform-deployment/docker/#zeebe
  image: camunda/zeebe:${CAMUNDA_PLATFORM_VERSION}
  container_name: zeebe
  ports:
    - "26500:26500"
    - "9600:9600"
  environment:
    -ZEEBE_BROKER_EXPORTERS_ELASTICSEARCH_CLASSNAME=io.camunda.zeebe.exporter.ElasticsearchExporter
    - ZEEBE_BROKER_EXPORTERS_ELASTICSEARCH_ARGS_URL=http://elasticsearch:9200
    - ZEEBE_BROKER_EXPORTERS_ELASTICSEARCH_ARGS_BULK_SIZE=1
    - ZEEBE_BROKER_DATA_DISKUSAGECOMMANDWATERMARK=0.998
    - ZEEBE_BROKER_DATA_DISKUSAGEREPLICATIONWATERMARK=0.999
    - "JAVA_TOOL_OPTIONS=-Xms512m -Xmx512m"
  restart: always
  healthcheck:
    test: [ "CMD-SHELL", "curl -f http://localhost:9600/ready" ]
    interval: 30s
    timeout: 5s
    retries: 5
    start_period: 30s

解决方案

1. 调整容器内存限制

Docker默认可能给容器分配的内存配额不足,即使JVM设置了内存参数,容器整体内存受限会导致无法创建线程。在docker-compose.yml的Zeebe服务中添加内存限制配置:

zeebe:
  # 保留原有所有配置
  deploy:
    resources:
      limits:
        memory: 1.5G

(如果是旧版Docker Compose,可改用mem_limit: 1536m)

2. 提升宿主机线程数限制

宿主机的用户进程线程数上限过低会导致JVM无法创建GC线程:

  • 临时调整:执行ulimit -u 65535(当前会话有效)
  • 永久调整:编辑/etc/security/limits.conf文件,添加以下内容后重启系统或重新登录:
    * soft nproc 65535
    * hard nproc 65535
    

3. 减小JVM线程栈大小

错误日志显示线程栈默认是1024k,尝试减小栈大小以节省资源,修改JAVA_TOOL_OPTIONS:

environment:
  # 其他环境变量不变
  - "JAVA_TOOL_OPTIONS=-Xms512m -Xmx512m -Xss256k"

4. 排查权限问题(测试用)

新版本镜像可能调整了运行用户权限,临时添加user: root到Zeebe服务配置,验证是否是权限导致的线程创建失败(生产环境不建议长期使用root用户):

zeebe:
  # 其他配置不变
  user: root

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 01:17:44