Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

节点非正常退出,导致整个环境瘫痪! #96

Open
shark1212 opened this issue Jan 31, 2018 · 2 comments
Open

节点非正常退出,导致整个环境瘫痪! #96

shark1212 opened this issue Jan 31, 2018 · 2 comments

Comments

@shark1212
Copy link

我现在成功组网3个节点
环境配置如下:
1、CentOS Linux 7
配置一个创世节点和一个非创世节点
2、ubuntu64
配置一个非创世节点

以上3个节点成功组网,并且出块正常。

现在遇到的问题是:
如果其中一个节点因为非正常原因挂掉(如机器挂掉或者进程被干掉的情况,很常见的),那么剩下的两个节点无法正常运行,不再出块了,这个时候想通过
babel-node tool.js NodeAction cancelNode 命令来退出挂掉的节点,无法正常执行,只有让挂掉的节点启动之后才能执行退出的操作,那如果在实际运行过程中,那台机器都无法恢复了,岂不是整个网络就瘫痪了吗?(小弟才疏学浅,可能理解有误)请问该如何解决,谢谢!

@toxotguo
Copy link
Contributor

@shark1212
如果因为某些特殊原因导致网络无法共识正常出块,可以使用bcos内置的上帝模式功能来恢复网络正常运行。

上帝模式的使用可以参考如下:

上帝模式的配置文件格式请参考上图。
注意:
godMinerStart和godMinerEnd都是16进制
miners的配置请与config.json中保持一致
godMinerEnd必须大于等于godMinerStart
godMinerStart必须等于当前blockchain的块高+1

上面的配置主要是指定在godMinerStart+1~~godMinerEnd 由miners指定的节点id来出块。在这种情况下,可以简单设置了某一个可用,无误的节点即可,注意其他的port,desc,ip等需要正确,参考你的config.json对应的配置。

启动说明
./eth --genesis ../genesis.json --config ../config.json --godminer ../godminer.json
在此期间,可以正常出块,你可以添加或者删除有问题的节点。

保证你的所有节点配置已经配置正确,当块高达到godMinerEnd后,再次重启节点。

@0xbuidler
Copy link

0xbuidler commented Mar 13, 2018

@toxotguo
default
我配置了godMinerEnd 明显是大于godMinerStart,但是执行完命令后err日志却提示 上帝模式配置异常 godMinerEnd<=godMinerStart
default
default

Honglei-Cong pushed a commit to Honglei-Cong/bcos that referenced this issue Oct 10, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants