Hyperledger fabric Hyperledger结构使用最新配置加入对等方
如何使用最新的配置块与对等方加入通道 配置块0中的订购者不再存在,dns名称已更改 当我获取通道的最新配置并尝试加入该配置时,会出现以下错误:Hyperledger fabric Hyperledger结构使用最新配置加入对等方,hyperledger-fabric,hyperledger,peer,Hyperledger Fabric,Hyperledger,Peer,如何使用最新的配置块与对等方加入通道 配置块0中的订购者不再存在,dns名称已更改 当我获取通道的最新配置并尝试加入该配置时,会出现以下错误: peer channel fetch config ... peer channel join ... Error: proposal failed (err: bad proposal response 500: cannot create ledger from genesis block: Expected block number=0, r
peer channel fetch config ...
peer channel join ...
Error: proposal failed (err: bad proposal response 500: cannot create ledger from genesis block: Expected block number=0, received block number=11276)
command terminated with exit code 1
但是,当我获取配置块0并加入时,它会成功地执行此操作,但对等方从未“同步”,因为它无法连接到订购方(因为它们不再存在于该域下)
尝试使用块
0
或最旧的
。由于DNS名称已更改,您必须采取一些措施
技巧1:覆盖/etc/hosts
中的名称解析
在同级(docker容器内部)中,编辑/etc/hosts
首先,获取新的域IP:
#apt更新
#apt安装dnsutils-y
主机new.svc.cluster.local
注意IP,比如说X.Y.W.Z
现在,在对等容器内编辑/etc/hosts
,并将新IP与旧域关联:
X.Y.W.Z old.svc.cluster.local
为每个已更改的域执行此操作。现在你应该可以加入了。即使以前是对等关节,现在也可以同步了。每当您的对等容器重新定位时,/etc/hosts
更改都会丢失,但同步后就不介意了
另一个技巧是使用iptables,但它只有在旧域仍然解析为IP时才有用
X.Y.W.Z old.svc.cluster.local