在使用docker-compose 部署cita链,部署后就不能正常出块,就卡在最近的块高处。0.22版本.
已经尝试docker-compose up -d node* 逐一启动无效(删除了pid文件)
docker-compose部署,down之后启动无法出块
你可以使用
把日志 cita_info.tar.gz
贴上来吗?
没权限贴tar包,日志的话有点多。
我看你的日志,在出错前,你进行了反复的重启。
问一下,你在进行反复重启前有没有增删除过共识节点?
没有,因为不出块 所以进行了多次重启尝试,最初是尝试修改了operator参数没生效。
一共弄了 6 个共识节点?
对的 一共6个
现在开放上传 gz 文件了,你试试看
文件过大无法上传。
是多大?
16m
16M 是整个日志文件吗? 你是使用cita-op-helper 获取的日志内容?获取了多少行?
5000行,6个node的tar包
能放到云盘中,提供个URL 下载地址吗?
通过你提供的日志,进行分析,问题原因如下:
- CITA 在共识上存在一个 bug 。
- 咱们有几次反复重启没有删除 *.pid 文件。
- 导致最后一个块的一个交易没有达成共识,从而产生了你所描述的问题。
现在的解决办法为:
- Stop 所有 CITA 节点,删除所有节点内的 *.pid 文件;
- 使用工具 cita_recover 消去最后那个未达成共识的块;
执行命令如下 (供参考), 其中./cita_secp256k1_sha3_node0/xxx/0/data/
表示 CITA 节点数据路径,146887
表示最后未达成共识的块:
./cita_recover -d ./cita_secp256k1_sha3_node0/xxx/0/data/ -h 146887
./cita_recover -d ./cita_secp256k1_sha3_node1/xxx/1/data/ -h 146887
./cita_recover -d ./cita_secp256k1_sha3_node2/xxx/2/data/ -h 146887
./cita_recover -d ./cita_secp256k1_sha3_node3/xxx/3/data/ -h 146887
./cita_recover -d ./cita_secp256k1_sha3_node4/xxx/4/data/ -h 146887
./cita_recover -d ./cita_secp256k1_sha3_node5/xxx/5/data/ -h 146887
- 启动所有 CITA 节点;
我在使用时出现提示
error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory
该工具很久没有更新了,支持1.x后的版本吗 ? 支持国密版本吗 ?
这个工具会直接操作数据库 (RocksDB),与算法无关,也支持现在的 CITA 最新版本。
你可以进行 cita-run 的容器里去执行这个脚本。
进入容器后可以运行这个文件,在容器里面如何操作容器外部的文件有没具体的操作指令
容器外面提示:
cita_recover: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory
进入容器后提示:
chain db dir not exist
我用的指令:cita_recover -d /data/cita/cita_secp256k1_sha3/testchain/0/data/ -h 58