Hyperledger Fabric加入具有最新配置的对等体

问题描述 投票:0回答:1

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

配置块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并成功加入时,它却成功完成了,但是对等端从不同步,因为它无法连接到订购者(因为它们不再存在于该域中)

peer channel fetch 0 ...

peer channel join ...

...
in logs

Could not connect to any of the endpoints: [{orderer-3.orderers.svc.cluster.local:7050 [...]} {orderer-1.orderers.svc.cluster.local:7050 [...]} {orderer-2.orderers.svc.cluster.local:7050 [...]}]
hyperledger-fabric hyperledger peer
1个回答
1
投票

尝试使用块0oldest。由于DNS名称已更改,因此您必须采取一些技巧。

TRICK 1:覆盖/etc/hosts中的名称解析

在您的同伴中(在Docker容器本身内部,编辑/etc/hosts

首先,获取新的域IP:

# apt update
# apt install dnsutils -y
host new.svc.cluster.local

记下IP,比方说X.Y.W.Z

现在,在对等容器中编辑/etc/hosts,并将新IP关联到旧域:

X.Y.W.Z old.svc.cluster.local

对每个已更改的域执行此操作。现在您应该可以加入了。即使以前的对等节点现在也可以同步。每当您的对等容器重定位时,/etc/hosts更改都会丢失,但是一旦同步就不会在意[]

另一种技巧是使用iptables,但这仅在您的旧域仍解析为IP时才有用。

© www.soinside.com 2019 - 2024. All rights reserved.