We are trying to test importing a pretty large graph (1.5 billion edges and 270 million vertices) into our hbase (1.1.2) backend using Titan Hadoop (0.5.4). We tried running a job on very small graphs, which worked fine. The MR job finished, and the data got written into hbase properly. However, when we try the bigger dataset, the job fails the second time mapping portion occurs:
Executing [Job 2/2: TitanGraphOutputMapReduce.VertexMap > TitanGraphOutputMapReduce.Reduce > TitanGraphOutputMapReduce.EdgeMap]
Our hbase is set up on top of hdfs, but this is separate from the cluster where we are running our MR jobs (hadoop 2.6.0).
The error that we run into is (the same error repeats for various partitions/namespaces:
Error: java.io.IOException: ID block allocation on partition(7)-namespace(3) timed out in 120.0 s
at com.thinkaurelius.titan.hadoop.formats.util.TitanGraphOutputMapReduce$VertexMap.map(TitanGraphOutputMapReduce.java:153)
at com.thinkaurelius.titan.hadoop.formats.util.TitanGraphOutputMapReduce$VertexMap.map(TitanGraphOutputMapReduce.java:105)
at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:145)
at org.apache.hadoop.mapreduce.lib.chain.Chain.runMapper(Chain.java:389)
at org.apache.hadoop.mapreduce.lib.chain.ChainMapper.run(ChainMapper.java:149)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:784)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628)
at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
Caused by: com.thinkaurelius.titan.core.TitanException: ID block allocation on partition(7)-namespace(3) timed out in 120.0 s
at com.thinkaurelius.titan.graphdb.database.idassigner.StandardIDPool.waitForIDRenewer(StandardIDPool.java:131)
at com.thinkaurelius.titan.graphdb.database.idassigner.StandardIDPool.nextBlock(StandardIDPool.java:148)
at com.thinkaurelius.titan.graphdb.database.idassigner.StandardIDPool.nextID(StandardIDPool.java:193)
at com.thinkaurelius.titan.graphdb.database.idassigner.VertexIDAssigner.assignID(VertexIDAssigner.java:330)
at com.thinkaurelius.titan.graphdb.database.idassigner.VertexIDAssigner.assignID(VertexIDAssigner.java:185)
at com.thinkaurelius.titan.graphdb.database.idassigner.VertexIDAssigner.assignID(VertexIDAssigner.java:151)
at com.thinkaurelius.titan.graphdb.database.StandardTitanGraph.assignID(StandardTitanGraph.java:385)
at com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx.addPropertyInternal(StandardTitanTx.java:744)
at com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx.setProperty(StandardTitanTx.java:778)
at com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx.addProperty(StandardTitanTx.java:696)
at com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx.addVertex(StandardTitanTx.java:494)
at com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx.addVertexWithLabel(StandardTitanTx.java:516)
at com.thinkaurelius.titan.graphdb.blueprints.TitanBlueprintsGraph.addVertexWithLabel(TitanBlueprintsGraph.java:215)
at com.thinkaurelius.titan.hadoop.formats.util.TitanGraphOutputMapReduce$VertexMap.getTitanVertex(TitanGraphOutputMapReduce.java:216)
at com.thinkaurelius.titan.hadoop.formats.util.TitanGraphOutputMapReduce$VertexMap.getCreateOrDeleteVertex(TitanGraphOutputMapReduce.java:186)
at com.thinkaurelius.titan.hadoop.formats.util.TitanGraphOutputMapReduce$VertexMap.map(TitanGraphOutputMapReduce.java:132)
... 11 more
Caused by: java.util.concurrent.TimeoutException
at java.util.concurrent.FutureTask.get(FutureTask.java:205)
at com.thinkaurelius.titan.graphdb.database.idassigner.StandardIDPool.waitForIDRenewer(StandardIDPool.java:121)
... 26 more
We were guessing that it has something to do with the ids.block-size parameter, which we attempted to set in our script properties file. However, we still ran into the same problem. Does anyone possibly have a idea why this might be happening or possible config parameters we need to set (or might be set incorrectly)?