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

Hyperledger Composer启动网络失败:资源耗尽与grpc安装错误

解决Hyperledger Composer业务网络启动失败及grpc依赖安装问题

我来帮你搞定这个问题!从你给出的错误日志来看,核心问题出在chaincode中的grpc依赖安装失败,导致peer节点无法正常加载chaincode,最终触发了RESOURCE_EXHAUSTED(资源耗尽)的通信错误。下面是一步步的排查和解决方法:

1. 修复grpc依赖安装失败问题

从peer的Docker日志可以看到,grpc@1.11.3的安装脚本因为node-pre-gyp的bug执行失败,这是旧版本node-pre-gyp和node v8.9.4兼容性不佳导致的:

  • 如果你是本地开发chaincode,进入chaincode的根目录,升级node-pre-gyp到最新稳定版:
    npm install node-pre-gyp@latest --save-dev
    
  • 或者,考虑更换更兼容的Node.js版本:node v8.9.4较老,建议升级到v8.x系列的LTS最终版(v8.17.0),或者直接切换到v10.x的LTS版本,这些版本对grpc的支持更稳定。

2. 清理npm缓存并重新安装依赖

缓存损坏也可能导致依赖安装异常,执行以下操作重置依赖:

  • 清理npm缓存:
    npm cache clean --force
    
  • 删除chaincode目录下的node_modules文件夹和package-lock.json文件
  • 重新安装所有依赖:
    npm install
    

确保安装过程中没有报错,grpc依赖能正常完成安装。

3. 检查并调整peer节点的资源限制

RESOURCE_EXHAUSTED错误也可能是peer节点的CPU/内存资源不足,无法处理chaincode的加载请求:

  • 查看peer容器的资源使用情况:
    docker stats
    
    观察对应的peer容器是否CPU或内存占用接近上限。
  • 如果资源不足,调整Docker容器的资源分配:编辑你的docker-compose.yml文件,给peer节点增加资源限制(示例):
    peer0.org1.example.com:
      deploy:
        resources:
          limits:
            memory: 2G
            cpus: '1.0'
    
  • 重启peer容器使配置生效:
    docker-compose restart peer0.org1.example.com
    

4. 重新启动Hyperledger Composer业务网络

在解决上述问题后,重新执行业务网络的停止、安装和启动操作:

  • 停止现有网络:
    composer network stop -c admin@your-network-name
    
  • 重新安装业务网络包:
    composer network install -c admin@your-network-name -a your-network.bna
    
  • 启动业务网络:
    composer network start -c admin@your-network-name -n your-network-name -V 0.0.1 -A admin -S adminpw
    

记得把命令中的your-network-name、your-network.bna、版本号和密码替换成你实际的信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 06:48:05