首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hyperledger Fabric使用最新配置加入同级

Hyperledger Fabric使用最新配置加入同级
EN

Stack Overflow用户
提问于 2020-03-18 04:00:30
回答 1查看 109关注 0票数 0

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

配置块0中的订单者不再存在,dns名称已更改。

当我获取通道的最新配置,并尝试加入该配置时,我得到以下错误:

代码语言:javascript
复制
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并加入时,它成功了,但是对等体永远不会‘同步’起来,因为它不能连接到订单者(因为他们不再存在于该域下)

代码语言:javascript
复制
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 [...]}]
EN

回答 1

Stack Overflow用户

发布于 2020-03-18 22:43:51

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

技巧1:覆盖 /etc/hosts.中的名称解析

在您的对等体中(在docker容器本身内部),编辑/etc/hosts

首先,获取新的域名IP:

代码语言:javascript
复制
# apt update
# apt install dnsutils -y
host new.svc.cluster.local

记下IP,假设是X.Y.W.Z

现在,编辑对端容器内部的/etc/hosts,并将新IP关联到旧域名:

代码语言:javascript
复制
X.Y.W.Z old.svc.cluster.local

对每个已更改的域执行此操作。现在你应该可以加入了。即使之前的对等节点,现在它也能够同步。每当您的对等容器被重新定位时,/etc/hosts更改都会丢失,但是同步后它并不介意

另一种技巧是使用iptables,但只有当您的旧域仍然解析为IP时,它才有用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60729410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档