spark local[*] 模式操作janusgraph。
如果在创建schema时:graph.openManagement(),最后没有commit()。虽然schema创建成功,elasticsearch中也创建了相应的index。但是addVertex时会有问题:
1)local单节点运行时没有错误,但是index信息并没有入到es中。
2)local[*]多节点运行时直接抛出以下错误信息:
Exception in thread "main" org.apache.spark.SparkException: Job aborted due to stage failure: Task 2 in stage 2.0 failed 1 times, most recent failure: Lost task 2.0 in stage 2.0 (TID 4, localhost): org.janusgraph.core.JanusGraphException: Could not commit transaction due to exception during persistence
由于我的项目中schema的创建和addVertex是两个独立的Job。个人认为在创建schema的job中没有commit,导致schema信息和es中的索引信息并没有关联起来。在单节点运行时,只是单纯的把Vertex入到janusGraph中,而property的索引信息取不到,所以es中的index为空。
对于local[*]多节点报错的原因还不清楚。对management执行commit()之后错误就没有了。
网友评论