无法在“/eventstore/db”处获取数据库的独占锁

Couldn’t acquire exclusive lock on DB at ‘/eventstore/db’

我正在尝试在 ubuntu 20.04 上安装 eventstore,但每次我 运行 evenstored --what-if(作为 root 或作为简单用户,或作为 sudo)我都会收到以下错误消息: Couldn't acquire exclusive lock on DB at '/eventstore/db'..

我尝试了很多东西:

我不明白为什么我总是收到这条消息,好像同时启动了许多 eventstore 实例。


编辑:

这是我的配置文件 (/etc/eventstore/eventstore.conf)

# Paths
Db: /eventstore/db
Index: /eventstore/index
Log: /eventstore/logs

# Certificates configuration
CertificateFile: /etc/eventstore/certs/cert.crt
CertificatePrivateKeyFile: /etc/eventstore/certs/privkey.key
TrustedRootCertificatesPath: /etc/ssl/certs
CertificateReservedNodeCommonName: "*.mathob-jehanno.com"
# Network configuration
IntIp: 37.187.2.103
ExtIp: 37.187.2.103
IntHostAdvertiseAs: mathob-jehanno.com
ExtHostAdvertiseAs: mathob-jehanno.com
HttpPort: 2113
IntTcpPort: 1112
EnableExternalTcp: false
EnableAtomPubOverHTTP: false

# Projections configuration
RunProjections: None

我以前也遇到过。我是 运行 v20,但没有提供必要的设置,例如缺少证书。服务器因此崩溃,但您看到的最后一条消息是 Couldn't acquire exclusive lock on DB at '/eventstore/db'。您可能会仔细观察它是否是 警告,而崩溃的真正原因在前面的原始错误堆栈跟踪中提到过。

好的

首先,评论帮了大忙:

此错误消息在另一条错误消息之后,后者提供了有关问题的更多详细信息。

需要知道的一件事是 eventstored --what-if 应该是 运行 而服务不是 运行ning 所以用户需要在 (systemctl stop eventstore) 之前停止服务.

然后我更改了数据库、索引和日志文件的路径以匹配默认值(这防止了一些权限错误)。