[HADOOP] Spark 클러스터 및 Cassandra 용 JanusGraph 설정 및 구성
HADOOPSpark 클러스터 및 Cassandra 용 JanusGraph 설정 및 구성
단일 머신에서 JanusGraph (0.1.0)와 Spark (1.6.1)를 실행 중입니다. 여기에 설명 된대로 구성했습니다. gremlin-console에서 SparkGraphComputer로 그래프에 액세스 할 때는 항상 비어 있습니다. 로그 파일에 오류를 찾을 수 없습니다. 단지 빈 그래프 일뿐입니다.
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로 Spark와 함께 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가 올바르게 구성되어있는 것 같습니다.
gremlin> hdfs
==>storage[DFS[DFSClient[clientName=DFSClient_NONMAPREDUCE_178390072_1, ugi=cassandra (auth:SIMPLE)]]]
해결법
-
==============================
1.다음 속성을 수정하십시오.
다음 속성을 수정하십시오.
janusgraphmr.ioformat.conf.storage.keyspace=janusgraph storage.keyspace=janusgraph
바꾸기 :
janusgraphmr.ioformat.conf.storage.cassandra.keyspace=janusgraph storage.cassandra.keyspace=janusgraph
기본 키 공간 이름은 janusgraph입니다. 따라서 속성 이름의 실수에도 불구하고 다른 키 공간 이름을 사용하여 데이터를로드하지 않으면 해당 문제를 관찰하지 못했을 것입니다.
후자의 등록 정보는 구성 참조 서에 설명되어 있습니다. 또한 Hadoop-Graph 사용을 위해 문서를 개선하기 위해이 미해결 문제에 유의하십시오.
from https://stackoverflow.com/questions/43805558/setup-and-configuration-of-janusgraph-for-a-spark-cluster-and-cassandra by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Hadoop 프로그램에서 출력 키 / 값 클래스를 명시 적으로 설정해야하는 이유는 무엇입니까? (0) | 2019.07.27 |
---|---|
[HADOOP] HBase 테이블에서 모든 열 이름을 가져올 수 있습니까? (0) | 2019.07.27 |
[HADOOP] Hadoop : Writable 인터페이스없이 출력 값으로 객체를 가지는 쉬운 방법 (0) | 2019.07.27 |
[HADOOP] Hadoop에서는 namenode 및 jobtracker 웹 페이지에 대한 기본 URL 포트 50070 및 50030을 어디에서 변경할 수 있습니까? (0) | 2019.07.27 |
[HADOOP] FTP에서 HDFS로 매주 파일 다운로드 (0) | 2019.07.27 |