You need to enable JavaScript to run this app. HyperLedger Fabric网络本地正常AWS EC2启动失败问题咨询
优惠活动
大模型
产品
解决方案
定价
更多

HyperLedger Fabric网络本地正常AWS EC2启动失败问题咨询

问题根因

OCI runtime create failed: Running hook #0:: error running hook: signal: killed错误在AWS EC2部署Fabric场景下,核心触发原因按出现概率排序如下:

  • 实例规格不足:Fabric 2.2测试网络默认启动2个Peer节点、1个Orderer节点、3个CA节点,运行最低要求为2vCPU/4GiB内存。如果使用t2.micro、t3.small等内存≤2GiB的低规格实例,内存不足会触发系统OOM killer强制杀掉容器启动钩子进程,直接触发该报错。
  • Docker运行时配置不兼容:EC2默认预装的Amazon Linux系列系统自带的containerd、Docker版本可能与Fabric 2.2.x依赖的运行时参数不匹配,部分实例默认开启的SELinux强制策略、ECS相关运行时钩子也会拦截容器启动流程。
  • 版本不匹配:EC2环境下Fabric本地二进制版本为2.2.1,Docker镜像版本为2.2.2,版本错位会放大运行时兼容性问题。
  • 残余资源冲突:之前启动失败的孤儿容器、挂载卷没有清理,会导致新启动的容器端口、存储挂载冲突,触发启动钩子异常。
解决方案

按优先级执行以下操作:

  1. 升级EC2实例规格
    更换为至少t3.medium(2vCPU/4GiB)及以上规格的实例,优先选择内存≥4GiB的配置,避免OOM问题。
  2. 清理环境残余资源
    执行以下命令清空所有旧的Fabric相关容器、卷、网络资源:
./network.sh down
docker system prune -af --volumes
  1. 对齐Fabric版本
    执行官方脚本将本地二进制版本升级到2.2.2,与Docker镜像版本保持一致:
curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/release-2.2/scripts/bootstrap.sh | bash -s -- 2.2.2 1.4.9
  1. 调整Docker运行时配置
    如果使用Amazon Linux 2023系统,执行以下命令修复containerd cgroup配置:
sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml
sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml
sudo systemctl restart containerd docker

临时关闭SELinux验证策略:

sudo setenforce 0
  1. 重新启动测试网络
    执行启动命令验证:
./network.sh up createChannel -c mychannel -ca

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 04:24:05