启动GremlinServer服务时报异常:IllegalArgumentException: Vertex Label with given name does not exist: user

Lewa ·
更新时间:2024-09-20
· 920 次阅读

背景

启动gremlin - server服务时报如下异常:

34180 [main] WARN org.janusgraph.graphdb.database.idassigner.placement.PartitionIDRange - Individual key range is too small for partition block - result would be empty; hence ignored: KeyRange(left: 250-225- 71-129, right: 0- 0- 0- 0) 34180 [main] INFO org.janusgraph.graphdb.database.IndexSerializer - Hashing index keys 34185 [main] INFO org.janusgraph.diskstorage.log.kcvs.KCVSLog - Loaded unidentified ReadMarker start time 2020-02-19T03:15:59.261Z into org.janusgraph.diskstorage.log.kcvs.KCVSLog$MessagePuller@422ad5e2 35478 [main] WARN org.apache.tinkerpop.gremlin.server.AbstractChannelizer - java.lang.IllegalArgumentException: Vertex Label with given name does not exist: user 35479 [main] ERROR org.apache.tinkerpop.gremlin.server.GremlinServer - Gremlin Server Error java.lang.IllegalStateException: Could not create/configure Authenticator null at org.apache.tinkerpop.gremlin.server.AbstractChannelizer.createAuthenticator(AbstractChannelizer.java:204) at org.apache.tinkerpop.gremlin.server.AbstractChannelizer.init(AbstractChannelizer.java:150) at org.apache.tinkerpop.gremlin.server.channel.WsAndHttpChannelizer.init(WsAndHttpChannelizer.java:39) at org.apache.tinkerpop.gremlin.server.GremlinServer.start(GremlinServer.java:162) at org.apache.tinkerpop.gremlin.server.GremlinServer.main(GremlinServer.java:346) Caused by: java.lang.RuntimeException: java.lang.IllegalArgumentException: Vertex Label with given name does not exist: user at org.janusgraph.graphdb.tinkerpop.gremlin.server.auth.JanusGraphAbstractAuthenticator.createUser(JanusGraphAbstractAuthenticator.java:143) at org.janusgraph.graphdb.tinkerpop.gremlin.server.auth.JanusGraphAbstractAuthenticator.setup(JanusGraphAbstractAuthenticator.java:119) at org.janusgraph.graphdb.tinkerpop.gremlin.server.auth.JanusGraphSimpleAuthenticator.setup(JanusGraphSimpleAuthenticator.java:37) at org.apache.tinkerpop.gremlin.server.AbstractChannelizer.createAuthenticator(AbstractChannelizer.java:200) ... 4 more Caused by: java.lang.IllegalArgumentException: Vertex Label with given name does not exist: user at org.janusgraph.graphdb.types.typemaker.DisableDefaultSchemaMaker.makeVertexLabel(DisableDefaultSchemaMaker.java:52) at org.janusgraph.graphdb.transaction.StandardJanusGraphTx.getOrCreateVertexLabel(StandardJanusGraphTx.java:1068) at org.janusgraph.graphdb.tinkerpop.JanusGraphBlueprintsTransaction.addVertex(JanusGraphBlueprintsTransaction.java:117) at org.janusgraph.graphdb.tinkerpop.JanusGraphBlueprintsGraph.addVertex(JanusGraphBlueprintsGraph.java:141) at org.janusgraph.graphdb.tinkerpop.JanusGraphBlueprintsGraph.addVertex(JanusGraphBlueprintsGraph.java:59) at org.apache.tinkerpop.gremlin.process.traversal.step.map.AddVertexStep.map(AddVertexStep.java:81) at org.apache.tinkerpop.gremlin.process.traversal.step.map.AddVertexStep.map(AddVertexStep.java:43) at org.apache.tinkerpop.gremlin.process.traversal.step.map.MapStep.processNextStart(MapStep.java:37) at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:143) at org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversal.hasNext(DefaultTraversal.java:197) at org.apache.tinkerpop.gremlin.process.traversal.step.map.CoalesceStep.flatMap(CoalesceStep.java:58) at org.apache.tinkerpop.gremlin.process.traversal.step.map.FlatMapStep.processNextStart(FlatMapStep.java:49) at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:143) at org.apache.tinkerpop.gremlin.process.traversal.step.util.ExpandableStepIterator.next(ExpandableStepIterator.java:50) at org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.SideEffectStep.processNextStart(SideEffectStep.java:38) at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:143) at org.apache.tinkerpop.gremlin.process.traversal.step.util.ExpandableStepIterator.next(ExpandableStepIterator.java:50) at org.apache.tinkerpop.gremlin.process.traversal.step.filter.FilterStep.processNextStart(FilterStep.java:37) at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.next(AbstractStep.java:128) at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.next(AbstractStep.java:38) at org.apache.tinkerpop.gremlin.process.traversal.Traversal.iterate(Traversal.java:206) at org.apache.tinkerpop.gremlin.groovy.jsr223.dsl.credential.DefaultCredentialTraversal.iterate(DefaultCredentialTraversal.java:28) at org.janusgraph.graphdb.tinkerpop.gremlin.server.auth.JanusGraphAbstractAuthenticator.createUser(JanusGraphAbstractAuthenticator.java:139) ... 7 more 35481 [main] ERROR org.apache.tinkerpop.gremlin.server.GremlinServer - Gremlin Server was unable to start and will now begin shutdown: Could not create/configure Authenticator null 解决问题 思路一

异常中提到了不存user这个顶点的Label。而这个label需要存在用户名密码信息。所以需要预告创建好user这个label。

过程 登陆gremlin console

依次执行:
cd ${JanusGraph}
./bin/gremlin.sh

在gremlin console中添加user的Label

依次执行:
graph = JanusGraphFactory.open('conf/janusgraph-berkeleyje.properties')
g = graph.traversal()
mgmt = graph.openManagement()
mgmt.makeVertexLabel('user').make()
mgmt.commit()
如果创建错了,可以使用以下语句删除该Label
mgmt.getVertexLabel('user').remove()

验证

仍然发现还是报同样的错,并且,注释掉authentication用户名密码配置后,便不在报错了。

思路二

跟据验证的情况,在gremlin console中添加user的label操作是不可取的,因为这个label会在服务启动时自动创建好。

(待解决补充,目前暂注释掉配置了)


作者:汐朔



异常 NOT with user label

需要 登录 后方可回复, 如果你还没有账号请 注册新账号