Couchdb 3.1.0群集-重新启动一个节点后,数据库加载失败

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

嗨,它有一个由两个节点组成的couchdb群集,每个节点都是服务器(ip1和ip2)上的一个ouchdb docker实例。我必须重新启动一台服务器,在重新启动后,我确实重新启动了ouchdb容器,之后,我的两个ouchdb实例均针对每个数据库显示:“此数据库加载失败。”我可以与Futon连接并查看数据库的完整列表,仅此而已。在带有Futon的“验证Couchdb安装”上,我有几个错误(只有“创建数据库”是绿色的对勾)

容器的docker日志给我这个错误:

"internal_server_error : No DB shards could be opened"

我试图通过将.couch和shards /文件复制到本地沙发数据库实例来在本地恢复数据库,但是发生相同的问题。

我如何检索数据?

PS:我用erl检查了两个节点之间的连接,那里没有问题。看起来docker在重新启动时搞砸了。

docker couchdb
1个回答
0
投票

好的,以防万一有人犯同样的错误:

[如果您有2节点群集,请使用长沙发db @ ip1和长沙发db @ ip2,并通过长沙发db @ ip1创建集群:

1)如果节点beddbdb @ ip2停止,则集群设置混乱(couchdb @ ip1将不再起作用),在重新启动时,该节点似乎无法正确连接并且数据库将出现但将不可用。

2)另一方面,停止和启动ouchdb @ ip1不会造成任何问题

案例1的解决方案是用两个新的couchdb实例(couchdb @ ip1和couchdb @ ip2)重新创建集群,然后在一个couchdb实例上复制数据库,并且所有数据库都将返回!

[如果有人能详细解释为什么会这样?这也意味着该群集配置绝对不可靠(如果ouchdb @ ip2出现故障,那么什么也行不通),我想对于3个节点的群集来说,它将是不一样的吗?

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