Search code examples
amazon-web-servicesamazon-dynamodbtitanrexster

How to load aws dynamodb titan graph with Rexster server?


I'm new to AWS DynamoDb Titan Graph DB. So i follow the instruction at here https://github.com/awslabs/dynamodb-titan-storage-backend/tree/1.0.0

I can start Gremlin server and load GraphOfTheGods ok. Then i want to load graph with Rexster server. I start Rexster server

bin/rexster.sh -s -c config/rexster-local.xml

and in log i saw the graph is loaded

...
[INFO] Backend - Initiated backend operations thread pool of size 8
[INFO] AbstractDynamoDBStore - Entering ensureStore table:titan_titan_ids
[INFO] AbstractDynamoDBStore - Entering ensureStore table:titan_edgestore
[INFO] AbstractDynamoDBStore - Entering ensureStore table:titan_graphindex
[INFO] AbstractDynamoDBStore - Entering ensureStore table:titan_txlog
[INFO] AbstractDynamoDBStore - Entering ensureStore table:titan_systemlog
[INFO] AbstractDynamoDBStore - Entering ensureStore table:titan_system_properties
[INFO] KCVSLog$MessagePuller - Loaded unidentified ReadMarker start time 2015-12-20T10:01:21.539Z into com.thinkaurelius.titan.diskstorage.log.kcvs.KCVSLog$MessagePuller@d9f5fce
[INFO] RexsterApplicationGraph - Graph [titan] - configured with allowable namespace [tp:gremlin]
[INFO] GraphConfigurationContainer - Graph titan - standardtitangraph[com.amazon.titan.diskstorage.dynamodb.DynamoDBStoreManager:[127.0.0.1]] loaded
...

But when i go to doghouse i got error

Error: Could not get the graph profile from Rexster.

enter image description here

I used titan version 1.0.0, dynamodb-titan100-storage-backend-1.0.0-hadoop1 and rexster-server-2.6.0. And here is rexster-local.xml configuration that i used to start Rexster server. Please show me how load graph with Rexster server correctly. Thank you a lot!


Solution

  • The DynamoDB Storage Backend for Titan 1.0.0 supports Titan 1.0.0. Titan 1.0.0 was coded against TinkerPop 3, and as such, does not ship with the Doghouse. Rexster was renamed to Gremlin Server, and uses a WebSockets streaming protocol instead of the RexPro binary protocol. You can use globally bound graph objects in Gremlin Server YAML configuration combined with remote command invocation to interact with your graph much in the way that you did in the Gremlin shell of the Doghouse.