我正在尝试在不同的计算机上建立一个包含4个节点的PBFT网络。在core.yaml
中,我更改了以下参数:peer.id
是vp0-vp3,peer.address
是节点的IP和端口,peer.validator.consensus.plugin
是pbft,{{1是vp0节点的IP和端口。当我启动节点时,我在节点中看到警告和错误(我在vp0中启动它们 - > vp3顺序)
VP0:
peer.discovery.rootnode
VP1:
13:53:34.091 [main] serve -> INFO 032 Starting peer with id=name:"vp0" , network id=dev, address=172.31.45.37:30303, discovery.rootnode=, validator=true
13:53:34.091 [rest] StartOpenchainRESTServer -> INFO 033 Initializing the REST service on 0.0.0.0:5000, TLS is disabled.
13:53:39.833 [consensus/util] RegisterChannel -> INFO 034 Registering connection from <nil>
13:53:44.393 [consensus/util] RegisterChannel -> WARN 035 Received duplicate connection from <nil>, switching to new connection
13:56:45.008 [consensus/util] RegisterChannel -> WARN 036 Received duplicate connection from <nil>, switching to new connection
VP2:
13:53:38.827 [main] serve -> INFO 032 Starting peer with id=name:"vp1" , network id=dev, address=172.31.46.226:30303, discovery.rootnode=172.31.45.37:30303, validator=true
13:53:38.828 [rest] StartOpenchainRESTServer -> INFO 033 Initializing the REST service on 0.0.0.0:5000, TLS is disabled.
13:53:39.829 [consensus/util] RegisterChannel -> INFO 034 Registering connection from <nil>
13:53:45.832 [consensus/util] RegisterChannel -> WARN 035 Received duplicate connection from <nil>, switching to new connection
13:56:50.832 [consensus/util] RegisterChannel -> WARN 036 Received duplicate connection from <nil>, switching to new connection
13:56:51.007 [consensus/util] RegisterChannel -> WARN 037 Received duplicate connection from <nil>, switching to new connection
13:56:51.007 [peer] handleChat -> ERRO 038 Error handling message: Peer FSM failed while handling message (DISC_HELLO): current state: created, error: transition canceled with error: Error registering Handler: Duplicate Handler error: {name:"vp3" 172.31.43.65:30303 VALIDATOR }
VP3:
13:53:43.370 [main] serve -> INFO 032 Starting peer with id=name:"vp2" , network id=dev, address=172.31.37.75:30303, discovery.rootnode=172.31.45.37:30303, validator=true
13:53:43.370 [rest] StartOpenchainRESTServer -> INFO 033 Initializing the REST service on 0.0.0.0:5000, TLS is disabled.
13:53:44.372 [consensus/util] RegisterChannel -> INFO 034 Registering connection from <nil>
13:53:45.816 [consensus/util] RegisterChannel -> WARN 035 Received duplicate connection from <nil>, switching to new connection
13:56:50.376 [consensus/util] RegisterChannel -> WARN 036 Received duplicate connection from <nil>, switching to new connection
13:56:50.994 [consensus/util] RegisterChannel -> WARN 037 Received duplicate connection from <nil>, switching to new connection
13:56:50.994 [peer] handleChat -> ERRO 038 Error handling message: Peer FSM failed while handling message (DISC_HELLO): current state: created, error: transition canceled with error: Error registering Handler: Duplicate Handler error: {name:"vp3" 172.31.43.65:30303 VALIDATOR }
可能是什么问题?
答案 0 :(得分:1)
我遇到了同样的问题,但在将hyperledger/fabric
更新为新版本(它是提交eb7605ea9a50f10ae7e275811b61c5b43ec239f2
)后,它开始起作用了。
对等方按以下顺序成功相互连接(使用pbft consensus
插件中的默认设置):
vp3 -> vp2 -> vp1 -> vp0
(vp3连接到vp2等)。
答案 1 :(得分:0)
github上有几个相关的问题
https://github.com/hyperledger/fabric/issues/1468
https://github.com/hyperledger/fabric/issues/685
我在亚马逊的Hyperledger Fabric部署方面遇到了类似问题(1个成员资格,4个部署在不同虚拟机上的验证对等体,PBFT共识,启用了安全性)。
有两种情况,“处理消息时对等FSM失败”错误信息在日志中:
仅当首次将Validation Peer添加到群集时,才可以重现此问题。
第二次,例如,如果“peer”进程被终止(Ctrl+C
)然后再次启动,Validation Peer在启动时没有问题。
我仍然在寻找所有验证对等体的日志文件中“收到重复连接”消息的原因。至少此警告不会导致部署出现任何明显问题。