【问题标题】:How To fix '[E][Init]: Failed to initialize storage'如何修复“[E][Init]:初始化存储失败”
【发布时间】:2022-03-31 14:35:21
【问题描述】:

我想使用 docker 容器在一台主机上建立一个由 3 个节点组成的 Iroha 网络。因此,我设置了 3 个 postgres 容器、3 个 blockstore 和 1 个 iroha-network。

启动不同的 postgres 容器可以正常工作(映射到端口 5532、5533、5534)。第一个 iroha 容器似乎也在工作。但是如果我尝试启动第二个容器,我会收到以下错误:

docker run --name iroha1 -p 50052:50051 -v $(pwd)/node1:/opt/iroha_data -v blockstore1:/tmp/block_store --network=iroha-network -e KEY='node1' hyperledger/iroha:latest
key=node1
/opt/iroha_data
WARNING: IROHA_POSTGRES_HOST is not defined.
    Do not wait for Postgres to become ready. Iroha may fail to start up
[2019-05-24 09:42:39.416652545][I][Init]: Irohad version: 1.0.0
[2019-05-24 09:42:39.417173322][I][Init]: config initialized
[2019-05-24 09:42:39.419332310][I][Irohad]: created
[2019-05-24 09:42:39.419510386][I][Irohad/Storage]: Start storage creation
[2019-05-24 09:42:39.419664393][I][Irohad/Storage]: block store created
[2019-05-24 09:42:39.425382813][E][Init]: Failed to initialize storage

如果我将第一个节点的 postgres 容器用于第二个节点,则不会发生错误,即 iroha 容器启动。

非常感谢任何帮助或建议。

【问题讨论】:

    标签: hyperledger-iroha


    【解决方案1】:

    关于存储初始化失败的日志的最后一行是提示。

    要解决此问题,请使用您创建的第二个块存储,因为第一个块存储 blockstore1 已在使用中。启动第二个 iroha 容器时使用第二个块存储,例如 ... -v blockstore2:/tmp/block_store ...

    如果对你有帮助,请告诉我

    【讨论】:

      【解决方案2】:

      检查您的 config.docker 文件并确保您已将网络设置为 iroha-network 并确保您的端口正确。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-03
        • 2021-08-08
        • 1970-01-01
        • 2015-01-15
        • 1970-01-01
        • 2011-07-06
        相关资源
        最近更新 更多