2017-05-05 5 views
5

JanusGraph(0.1.0)とSpark(1.6.1)を1台のマシンで実行しています。 hereと記載されているように構成しました。 gremlin-consoleのグラフにSparkGraphComputerでアクセスすると、常に空になります。ログファイルにエラーが見つからない場合は、それは空のグラフです。JanusGraphのSparkクラスタとCassandraの設定と設定

JanusGraphをSparkで使用している人は誰ですか?彼の設定とプロパティは共有できますか? JanusGraphを使用して

は、私が予想される出力を得る:

gremlin> graph=JanusGraphFactory.open('conf/test.properties') 
==>standardjanusgraph[cassandrathrift:[127.0.0.1]] 
gremlin> g=graph.traversal() 
==>graphtraversalsource[standardjanusgraph[cassandrathrift:[127.0.0.1]], standard] 
gremlin> g.V().count() 
14:26:10 WARN org.janusgraph.graphdb.transaction.StandardJanusGraphTx - Query requires iterating over all vertices [()]. For better performance, use indexes 
==>1000001 
gremlin> 

GraphComputerとしてスパークでHadoopGraphを使用し、グラフは空です:

gremlin> graph=GraphFactory.open('conf/test.properties') 
==>hadoopgraph[cassandrainputformat->gryooutputformat] 
gremlin> g=graph.traversal().withComputer(SparkGraphComputer) 
==>graphtraversalsource[hadoopgraph[cassandrainputformat->gryooutputformat], sparkgraphcomputer] 
gremlin> g.V().count() 
      ==>0==============================================> (14 + 1)/15] 

私のconf/test.properties:

# 
# Hadoop Graph Configuration 
# 
gremlin.graph=org.apache.tinkerpop.gremlin.hadoop.structure.HadoopGraph 
gremlin.hadoop.graphInputFormat=org.janusgraph.hadoop.formats.cassandra.CassandraInputFormat 
gremlin.hadoop.graphOutputFormat=org.apache.tinkerpop.gremlin.hadoop.structure.io.gryo.GryoOutputFormat 
gremlin.hadoop.memoryOutputFormat=org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat 
gremlin.hadoop.memoryOutputFormat=org.apache.tinkerpop.gremlin.hadoop.structure.io.gryo.GryoOutputFormat 

gremlin.hadoop.deriveMemory=false 
gremlin.hadoop.jarsInDistributedCache=true 
gremlin.hadoop.inputLocation=none 
gremlin.hadoop.outputLocation=output 

# 
# Titan Cassandra InputFormat configuration 
# 
janusgraphmr.ioformat.conf.storage.backend=cassandrathrift 
janusgraphmr.ioformat.conf.storage.hostname=127.0.0.1 
janusgraphmr.ioformat.conf.storage.keyspace=janusgraph 
storage.backend=cassandrathrift 
storage.hostname=127.0.0.1 
storage.keyspace=janusgraph 

# 
# Apache Cassandra InputFormat configuration 
# 
cassandra.input.partitioner.class=org.apache.cassandra.dht.Murmur3Partitioner 
cassandra.input.keyspace=janusgraph 
cassandra.input.predicate=0c00020b0001000000000b000200000000020003000800047fffffff0000 
cassandra.input.columnfamily=edgestore 
cassandra.range.batch.size=2147483647 

# 
# SparkGraphComputer Configuration 
# 
spark.master=spark://127.0.0.1:7077 
spark.serializer=org.apache.spark.serializer.KryoSerializer 
spark.executor.memory=100g 

gremlin.spark.persistContext=true 
gremlin.hadoop.defaultGraphComputer=org.apache.tinkerpop.gremlin.spark.process.computer.SparkGraphComputer 

HDFSが正しく設定されているようです。here

gremlin> hdfs 
==>storage[DFS[DFSClient[clientName=DFSClient_NONMAPREDUCE_178390072_1, ugi=cassandra (auth:SIMPLE)]]] 

答えて

5

は、これらのプロパティを固定してみてください。

janusgraphmr.ioformat.conf.storage.keyspace=janusgraph 
storage.keyspace=janusgraph 

と交換してください:

janusgraphmr.ioformat.conf.storage.cassandra.keyspace=janusgraph 
storage.cassandra.keyspace=janusgraph 

をデフォルトのキースペース名はjanusgraphで、プロパティ名のミスにもかかわらず、私は「ドンので、別のキースペース名を使用してデータをロードしない限り、この問題が発生したと思われるでしょう。

後者の性質については、Configuration Referenceに記載されています。また、Hadoop-Graphの使用方法を改善するため、このopen issueに注目してください。

関連する問題