【发布时间】:2019-03-14 06:19:03
【问题描述】:
我有一个使用默认 byfn 脚本在单个 AWS 实例上运行的超级账本结构网络。
错误:Orderer、cli、CA docker 容器显示“启动”状态。同行显示“退出”状态。
错误发生在:
- Byfn 网络正在运行,机器已重新启动(不在我的控制范围内,但由于某些外部原因)。
- 网络在没有关闭机器的情况下整夜运行。第二天早上显示相同的状态。
显示错误:
码头工人ps -a容器 ID 图像命令创建状态端口名称 b0523a7b1730 hyperledger/fabric-tools:latest "/bin/bash" 23 seconds ago Up 21 seconds cli bfab227eb4df hyperledger/fabric-peer:latest "peer node start" 28 seconds ago Exited (2) 23 seconds ago peer1.org1.example.com 6fd7e818fab3 hyperledger/fabric-peer:latest "peer node start" 28 seconds ago Exited (2) 19 seconds ago peer1.org2.example.com 1287b6d93a23 hyperledger/fabric-peer:latest "peer node start" 28 秒前 Exited (2) 22 秒前 peer0.org2.example.com 2684fc905258 hyperledger/fabric-orderer:latest "orderer" 28 秒前 Up 26 seconds 0.0.0.0:7050->7050/tcp orderer.example.com 93d33b51d352 hyperledger/fabric-peer:latest "peer node start" 28 seconds ago Exited (2) 25 seconds ago peer0.org1.example.com
附加泊坞窗日志:https://hastebin.com/ahuyihubup.cs
只有对等方无法启动。 我尝试解决问题的步骤:- docker start $(docker ps -aq) 或手动启动单个节点。
- 向下,生成,然后再次向上。显示与上述相同的结果。
- 回滚到以前版本的结构二进制文件。 1.1、1.2 和 1.4 的结果相同。在较旧的二进制文件中,如果网络在一夜之间运行,则不会重复出现错误,但会在机器重新启动时重复出现。
- 使用较旧的 docker 映像,例如 1.1 和 1.2。
- 尝试仅启动一个 peer、orderer 和 cli。
- 已更改网络名称和域名。
- 卸载 docker、docker-compose 并重新安装。
- 更改了所有节点的端口号。
- 尝试在不安装任何卷的情况下重新启动。
唯一可行的方法是重新格式化 AWS 实例并从头开始重新安装所有内容。另外,我没有使用 AWS 区块链模板。 任何帮助,将不胜感激。我已经在这个问题上卡了一个月了。
【问题讨论】:
-
很可能是一些损坏的文件或驱动程序。我肯定会调查每个容器的 docker 日志是否有异常?如果这不令人满意 - 我会检查系统日志。除此之外,我会在不同的 ec2 实例上创建一个具有精确设置/配置的现有网络的新副本,以检查问题是否在不同的服务器上仍然存在。
-
@NirajKumar 是的,这个问题在不同的服务器上仍然存在。我已在问题中附加了泊坞窗日志。那有什么帮助吗?您指的是哪些系统日志?
-
我确实看到了日志。我建议 - 下次当您在不同的服务器上构建副本时 - 保持额外的内存方便。我不确定您的 EC2 实例配置,因此我认为内存不足可能是问题所在。而且,我会更新配置(docker compose 文件和 shell 文件)以利用 docker swarm,它会在发生故障时重新启动容器。
-
@NirajKumar 有关配置的详细信息:t3.medium 实例,4 GB/69 GB。在不同的服务器上,在创建网络之前和之后,可用内存从 3.3 GB 变为 2.9 GB
-
@NirajKumar 我使用 Docker Swarm 处理多个实例,它显示了相同的错误。
标签: amazon-web-services hyperledger-fabric blockchain peer