【问题标题】:channel ‘mychannel’ not found in orderer when restart kafka, zookeeper and orderer重新启动kafka,zookeeper和orderer时在orderer中找不到频道'mychannel'
【发布时间】:2019-08-22 18:28:18
【问题描述】:

创建通道后,我正在 Fabric Network 中测试 Kafka 模式 命名为“mychannel”,我在其中加入了两个 ORG。在这些操作之后,我尝试使用'down'和'up'命令刷新kafka、zookeeper和orderer的容器。这样,我想测试一个peer是否可以在不同的fabric网络中持久化'channels' . 在跟踪Orderer的日志时,我发现了问题:

[common.deliver] deliverBlocks -> DEBU dc9 Rejecting deliver for 192.168.11.61:60156 because channel mychannel not found

我使用kafka shell工具查看主题列表,发现'mychannel'主题消失了。

完成上述操作后,我创建了一个使用相同 'channel.tx' 的新频道 'mychannel' 。我在日志中发现了错误:

UTC [common.deliver] deliverBlocks -> ERRO b1b [channel: mychannel] Error reading from channel, cause was: NOT_FOUND

我使用了命令:

peer channel getinfo -c mychannel

在一个组织的peer中,获取信息,区块高度为16:

Blockchain info: {"height":16,"currentBlockHash":"gHOfUnVRT0pGMRssz8fUXWH4jdH/1hcPUPLBqau7L9c=","previousBlockHash":"yvKUrJDg3+60Sbc0HHKs+N5vVkW2WBJWhy9TLFGmMug="}

我猜orderer创世块的高度是0,和当前块高度不匹配。

我该如何解决这个问题?我可以使用频道更新方法来更新频道配置吗?

kafka 模式:4 个 kafka brokers,3 个 zookeepers 1个订购者 2个组织

重启orderer和kafka集群(cmd: 'docker-compose down & up')

【问题讨论】:

    标签: hyperledger-fabric


    【解决方案1】:

    您的 Kafka、Zookeeper 和 Orderer 容器似乎没有使用外部安装的卷。当您运行docker-compose down 时,它实际上会破坏容器。如果要启动/停止容器,则需要使用docker-compose stopdocker-compose start

    如果您想在容器被破坏时保留数据(甚至升级它们),那么您需要将外部卷附加到您的容器。

    【讨论】:

    • 是对的。但是我正在测试peers是否可以使用更改其orderer和kafkas时创建的通道。所以我使用'down'而不是'stop'来模拟包含orderer的不同结构网络并使用kafka模式
    • 这就是它现在的工作方式......您必须执行通道更新才能更改订购者端点。如果 orderer 消失,peer 可以保留账本,但您不能从 peer 账本中重新创建 orderer
    • 谢谢,我测试了设置另一个包含相同peer的orderer,orderer得到了名称为'mychannel'的通道账本。
    猜你喜欢
    • 1970-01-01
    • 2019-10-20
    • 1970-01-01
    • 2017-10-05
    • 1970-01-01
    • 1970-01-01
    • 2020-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多