"storeId 与当前机器不一致" 错误解释
如果您在 $NEO4J_HOME/logs/debug.log
中遇到类似以下内容的 "Failed to serve TxPullRequest for … storeId xxxxxx because that storeId is different from this machine with Store…" 错误:
INFO [o.n.c.c.t.TxPullRequestHandler] Failed to serve TxPullRequest for tx 29193 and storeId Store{creationTime:1591347647541, randomId:6812995525063259919, upgradeTime:1591347647541, upgradeId:1} because that storeId is different from this machine with Store {creationTime:1595941375808, randomId:-4448032294085490672, upgradeTime:1595941375808, upgradeId:1}
这意味着 storeId 不一致。当 Neo4j 实例启动时,您会在 debug.log
中看到类似以下的条目:
INFO [o.n.c.c.s.LocalDatabase] Starting with storeId: Store {creationTime:1582039045717, randomId:4716225943436743213, upgradeTime:1582039045717, upgradeId:1}
Neo4j 因果集群中的所有实例都将在 `debug.log` 中显示类似上述的 storeId(列为 `randomId`)条目。如果集群中任何成员的 storeId 不同,则会出现“storeId 与当前机器不一致”错误。
如何解决此不匹配问题?
-
找到
randomId
最高的 Neo4j 节点,此 ID 即为上述示例中显示的 storeId -
对上述节点进行在线备份
-
停止
randomId
较低的实例 -
执行
$bin/neo4j-admin unbind
-
在这些实例上还原备份
-
启动 Neo4j
如果您对本主题有任何疑问或遇到此错误,请随时向 Neo4j 支持团队提交工单。
此页面是否有帮助?