首页 > 解决方案 > 在 neo4j-admin 导入后创建唯一约束时遇到无限重启

问题描述

我正在建立一个新的 neo4j v3.5.4 社区实例。安装后,考虑到我的机器包含 32G RAM,我将 neo4j 的初始和最大堆大小设置为 16G,并将页面缓存设置为 40G。然后我做了以下步骤:

  1. 使用 neo4j-admin 工具将我的数据导入 db,其中包含
  119263908 nodes
  221814590 relationships
  119263975 properties
  1. 启动neo4j。
  2. 我的节点标签之一称为“联系人”,其中包含“电话”属性。由于每个联系人的电话都是唯一的,我想创建如下的唯一约束:
  CREATE CONSTRAINT ON (c:Contact) ASSERT c.tel IS UNIQUE

然后我遇到了无休止的重启......如下图所示,neo4j开始填充索引,几分钟后,graph.db变得不可用,然后它重新启动。重新启动后,它会尝试填充索引,几分钟后,它会再次重新启动,无休止。日志中没有异常或错误。

2019-04-25 06:08:57.100+0000 INFO [o.n.k.i.a.i.IndexPopulationJob] Index population started: [:Contact(tel) [provider: {key=native-btree, version=1.0}]]
2019-04-25 06:14:03.535+0000 INFO [o.n.g.f.m.e.CommunityEditionModule] No locking implementation specified, defaulting to 'community'
2019-04-25 06:14:03.718+0000 INFO [o.n.g.f.GraphDatabaseFacadeFactory] Creating 'graph.db' database.
2019-04-25 06:14:03.795+0000 INFO [o.n.k.a.DatabaseAvailabilityGuard] Requirement `Database available` makes database graph.db unavailable.
2019-04-25 06:14:03.798+0000 INFO [o.n.k.a.DatabaseAvailabilityGuard] Database graph.db is unavailable.
2019-04-25 06:14:03.853+0000 INFO [o.n.i.d.DiagnosticsManager] --- INITIALIZED diagnostics START ---
...
.....
.........
2019-04-25 06:14:06.222+0000 INFO [o.n.k.i.a.i.IndexPopulationJob] Index population started: [:Contact(tel) [provider: {key=native-btree, version=1.0}]]
2019-04-25 06:19:11.935+0000 INFO [o.n.g.f.m.e.CommunityEditionModule] No locking implementation specified, defaulting to 'community'
2019-04-25 06:19:12.106+0000 INFO [o.n.g.f.GraphDatabaseFacadeFactory] Creating 'graph.db' database.
2019-04-25 06:19:12.186+0000 INFO [o.n.k.a.DatabaseAvailabilityGuard] Requirement `Database available` makes database graph.db unavailable.
2019-04-25 06:19:12.188+0000 INFO [o.n.k.a.DatabaseAvailabilityGuard] Database graph.db is unavailable.

我不知道为什么会这样。任何建议将不胜感激!

标签: neo4j

解决方案


推荐阅读