0

您好:我正在使用 JanusGraph 和来自https://github.com/awslabs/dynamodb-janusgraph-storage-backend的 DynamoDB 示例

另外,我正在使用 Spark - Scala - Gremlin Scala 框架连接到 JanusGraph。当我使用 Cassandra 作为后端时,一切正常,但是当我切换到使用 DynamoDB 时,我开始收到后端异常错误。

我的 conf 看起来像这样

val conf = new BaseConfiguration


conf.setProperty("gremlin.graph","org.janusgraph.core.JanusGraphFactory")

conf.setProperty("storage.write-time","1 ms")

conf.setProperty("storage.read-time","1 ms")
conf.setProperty("storage.backend","com.amazon.janusgraph.diskstorage.dynamodb.DynamoDBStoreManager")
conf.setProperty("storage.dynamodb.client.signing-region","us-east-1")
conf.setProperty("storage.dynamodb.client.endpoint","http://127.0.0.1:8000")
val graph = JanusGraphFactory.open(conf)

我可以很好地连接 DynamoDB,但是当我开始插入数据时,我遇到了后端异常。

以下是错误日志的一部分

错误 org.janusgraph.graphdb.database.StandardJanusGraph - 由于系统提交 org.janusgraph.core.JanusGraphException 中的存储异常而无法提交事务 [1]:由于 org.janusgraph.diskstorage.util 的后端异常而无法执行操作.BackendOperation.execute(BackendOperation.java:57) 在 org.janusgraph.diskstorage.keycolumnvalue.cache.CacheTransaction.persist(CacheTransaction.java:95) 在 org.janusgraph.diskstorage.keycolumnvalue.cache.CacheTransaction.flushInternal(CacheTransaction.java :143) 在 org.janusgraph.diskstorage.BackendTransaction.commit(BackendTransaction.java:150) 在 org.janusgraph.graphdb.database 的 org.janusgraph.diskstorage.keycolumnvalue.cache.CacheTransaction.commit(CacheTransaction.java:200)。 StandardJanusGraph.commit(StandardJanusGraph.java:703) 在 org.janusgraph.graphdb.transaction.StandardJanusGraphTx.commit(StandardJanusGraphTx.java:1363) 在 org.janusgraph.graphdb.tinkerpop.JanusGraphBlueprintsGraph$GraphTransaction.doCommit(JanusGraphBlueprintsGraph.java:272) 在 org.apache.tinkerpop.gremlin.structure.util。 AbstractTransaction.commit(AbstractTransaction.java:105) 在 $line81.$read$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$ $iw$$iw$$iw$$iw$$iw$$iw$$iw$$anonfun$1$$anonfun$apply$1.apply(:84) at $line81.$read$$iw$$iw$$ iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$anonfun$1 $$anonfun$apply$1.apply(:80)structure.util.AbstractTransaction.commit(AbstractTransaction.java:105) 在 $line81.$read$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw $$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$anonfun$1$$anonfun$apply$1.apply(:84) at $line81.$read$$iw$ $iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw $$anonfun$1$$anonfun$apply$1.apply(:80)structure.util.AbstractTransaction.commit(AbstractTransaction.java:105) 在 $line81.$read$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw $$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$anonfun$1$$anonfun$apply$1.apply(:84) at $line81.$read$$iw$ $iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw $$anonfun$1$$anonfun$apply$1.apply(:80)

知道这里发生了什么。我对 DynamoDB 很陌生。这在 Cassandra 中运行良好

4

1 回答 1

0

为什么你知道你是连接的?我认为您必须在配置中提供凭据。例如:

conf.setProperty("storage.dynamodb.client.credentials.class-name", "com.amazonaws.auth.BasicAWSCredentials")
conf.setProperty("storage.dynamodb.client.credentials.constructor-args", "ACCESS_KEY,SECRET_KEY")
于 2017-10-19T17:12:51.013 回答