重新启动kafka,zookeeper和订购者后,订购者中找不到频道“ mychannel”

时间:2019-08-22 07:42:57

标签: hyperledger-fabric

创建频道后,我正在Fabric网络中测试Kafka模式  名为“ mychannel”,我加入了两个ORG。完成这些操作后,我尝试使用“ down”和“ up”命令刷新kafka,zookeeper和订购者的容器。这样,我想测试对等方是否可以在不同的结构网络中持久化“通道” 。 尾随Orderer的日志时,我发现了问题:

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

然后我使用kafka shell工具检查主题列表,并发现“ mychannel”主题消失了。

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

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

我使用了命令:

peer channel getinfo -c mychannel

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

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

我想订购者创始块的高度为0,并且不能匹配当前的块高。

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

卡夫卡模式:4个卡夫卡经纪人,3个动物园管理员 1个订购者 2个组织

重新启动订购程序和kafka集群(cmd:'docker-compose down&up')

1 个答案:

答案 0 :(得分:2)

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

如果要在容器被破坏(或什至升级)的情况下保留数据,则需要将外部卷连接到容器。