Hyperledger fabric Hyperledger结构使用最新配置加入对等方

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

如何使用最新的配置块与对等方加入通道

配置块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, 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