创建频道后,我正在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')
答案 0 :(得分:2)
似乎您的Kafka,Zookeeper和Orderer容器未使用外部安装的卷。当您运行docker-compose down
时,它实际上会破坏容器。如果要启动/停止容器,则需要使用docker-compose stop
和docker-compose start
。
如果要在容器被破坏(或什至升级)的情况下保留数据,则需要将外部卷连接到容器。