2016-11-29 6 views
1

Ich verwende kbastani/spark-neo4j mit docker-compose, um die Betweenness-Zentralität meines Graphen zu analysieren.neo4j - Mazerunner antwortet nicht

meine Knoten sind wie so gebaut:

(n1:Node {id:1})-[r:NEXT {count:100}]->(n2:Node {id:2}) 

ich das Protokoll Ausnahme ignoriert habe (Da ich weiß nicht, wie es in Angriff zu nehmen):

mazerunner_1 | 16/11/29 08:27:51 INFO FileInputFormat: Total input paths to process : 1 
mazerunner_1 | Exception in thread "main" org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.namenode.SafeModeException): Zero blocklocations for /neo4j/mazerunner/jobs/edgeList.txt. Name node is in safe mode. 
mazerunner_1 | The reported blocks 0 needs additional 28 blocks to reach the threshold 0.9990 of total blocks 28. 
mazerunner_1 | The number of live datanodes 0 has reached the minimum number 0. Safe mode will be turned off automatically once the thresholds have been reached. 
mazerunner_1 |  at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getBlockLocationsInt(FSNamesystem.java:1678) 
mazerunner_1 |  at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getBlockLocations(FSNamesystem.java:1651) 
mazerunner_1 |  at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getBlockLocations(FSNamesystem.java:1625) 
mazerunner_1 |  at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getBlockLocations(NameNodeRpcServer.java:497) 
mazerunner_1 |  at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getBlockLocations(ClientNamenodeProtocolServerSideTranslatorPB.java:322) 
mazerunner_1 |  at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java) 
mazerunner_1 |  at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:585) 
mazerunner_1 |  at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:928) 
mazerunner_1 |  at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2013) 
mazerunner_1 |  at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2009) 
mazerunner_1 |  at java.security.AccessController.doPrivileged(Native Method) 
mazerunner_1 |  at javax.security.auth.Subject.doAs(Subject.java:415) 
mazerunner_1 |  at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1556) 
mazerunner_1 |  at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2007) 

ich meinen Job renne von Neo4j Browser wie so:

:GET /service/mazerunner/analysis/betweenness_centrality/NEXT 

Und ich kann im Labyrinth Läufer Protokoll anzeigen:

graphdb_1  | /var/lib/neo4j-community-2.2.3/.. 
graphdb_1  | [*] Waiting for messages. To exit press CTRL+C 
graphdb_1  | 08:50:31.608 [qtp198725683-33] WARN o.a.hadoop.util.NativeCodeLoader - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 
graphdb_1  | Records exported: 20000 
graphdb_1  | Records exported: 40000 
graphdb_1  | Records exported: 60000 
graphdb_1  | Records exported: 80000 
graphdb_1  | Mazerunner Export Status: 100% 
graphdb_1  | [x] Sent '{"path":"hdfs://hdfs:9000/neo4j/mazerunner/jobs/edgeList.txt","analysis":"betweenness_centrality","mode":"Unpartitioned"}' 

Und dann nichts ... für eine lange Zeit.
Q: Wie kann ich es laufen lassen?

Antwort

0

In My log

16/11/29 08:27:51 INFO FileInputFormat: Gesamteingangswege zu verarbeiten: 1

, dass ein alter Job in der que war. Ich musste das hdfs Image entfernen und docker-compose up ausführen. Es löste mein Problem