将 janusgraph 从 0.2.2 升级到 0.5.2

Upgrade janusgraph from 0.2.2 to 0.5.2

我是 Janusgraph 的新手。我需要将 Janausgraph 版本从 0.2.2(storage: cassandra, index: es) 升级到最新的稳定版本 (0.5.2)。我已经了解了 docs/forums 如何启动流程(我只看到了变更日志)。我无法找出 clear/direct 解决方案。是进行增量升级(0.2.2 > 0.x.x* > 0.5.2)还是直接升级(安装 0.5.2,尝试以某种方式转储 cassandra 数据,如果有效)

我已经尝试了第二种,下载了最新的 janusgraph(base 和 -full dist),安装了最新的 cassandra(311) 和 es(6xx,7xx)。我已将旧的 cassandra 数据复制到最新的 cassandra (/var/lib/cassandra)。我已经启动了两个服务器,janusgraph 和 cassandra,它已经启动并且 运行。但是当我尝试与 janusgraph(通过 gremlin 服务器)交互时,它给出了类似“Gremlin groovy 脚本引擎 - 非法参数异常”

的错误

我发现不应该这样做。我需要通过适当的 import/export 数据进行增量升级。

有人可以帮助我吗,我应该如何进一步进行增量升级。我怎样才能 export/import 所有 janusgraph/gremlin-server 数据。

您需要停止 0.2 实例,将配置 graph.allow-upgrade=true 设置为 janusgraph.properties (see here),然后在上面启动一个新的 0.5 实例相同的 Cassandra(或者如果需要,将旧的 Cassandra/ES 数据迁移到较新的 Cassandra/ES 实例)。

此后,一个好的做法是停止这个 0.5 实例,删除 graph.allow-upgrade 设置,然后重新启动它以正常使用,只有在下次需要升级时才更改它。

我差点忘了写答案(晚了但可能会有用)。

首先,不需要任何增量升级。我们可以使用简单的“import/export”命令进行升级。 目前有 3 种不同的格式可用:json、xml 和 binary(gryo)。

Gremlin 命令(gremlin-cli):

// Export from *version(0.2.2)*
graph = JanusGraphFactory.open('conf/gremlin-server/janusgraph-cql-es-server.properties')
graph.io(IoCore.gryo()).writeGraph('janusgraph_dump_2020_09_30_local.gryo')
graph.tx().commit()
// Import to *version(0.5.2)*
graph = JanusGraphFactory.open('conf/gremlin-server/janusgraph-cql-es-server.properties') 
graph.io(IoCore.gryo()).readGraph('janusgraph_dump_2020_09_30_local.gryo')
graph.tx().commit()

这解决了我的问题。