Titan版本是1.0.0无论我尝试过什么,所有纱线应用程序都在默认队列中结束。这些是我尝试的东西:
1)在titan-hbase-solr.properties中设置属性(以下都没有工作)
mapred.job.queue.name=myqueue
mapreduce.job.queue.name=myqueue
mapred.mapreduce.job.queue.name=myqueue
2)在gremlin shell中设置属性
gremlin> graph = TitanFactory.open("/usr/iop/4.2.5.0-0000/titan/conf/titan-hbase-solr.properties")
gremlin> mgmt = graph.openManagement()
gremlin> desc = mgmt.getPropertyKey("desc")
gremlin> mr = new MapReduceIndexManagement(graph)
gremlin> mgmt.set('gremlin.hadoop.mapred.job.queue.name', 'myqueue')
Unknown configuration element in namespace [root.gremlin]:
hadoop gremlin> mgmt.set('hadoop.mapred.job.queue.name', 'myqueue')
Unknown configuration element in namespace [root]: hadoop Display stack trace? [yN] n
gremlin> mgmt.set('titan.hadoop.mapred.job.queue.name', 'myqueue')
Unknown configuration element in namespace [root]: titan Display stack trace? [yN] n
gremlin> mgmt.set('mapred.job.queue.name', 'myqueue')
Unknown configuration element in namespace [root]: mapred Display stack trace? [yN] n gremlin>
gremlin> mgmt.set('mapreduce.mapred.job.queue.name', 'myqueue')
Unknown configuration element in namespace [root]: mapreduce Display stack trace? [yN] n
gremlin> mgmt.set('gremlin.mapred.job.queue.name', 'myqueue')
Unknown configuration element in namespace [root.gremlin]: mapred Display stack trace? [yN] n
gremlin> mgmt.set('gremlin.hadoop.mapred.job.queue.name', 'myqueue')
Unknown configuration element in namespace [root.gremlin]: hadoop Display stack trace? [yN] n
答案 0 :(得分:1)
YARN是Hadoop 2.0的一个功能;但是,Titan 1.0并不完全支持Hadoop 2.0(请参阅下面的引用),因此这可能会导致您看到的问题。
有些人已经分享Titan 1.0以添加对TinkerPop 3.1的支持,这增加了对Hadoop 2.x的支持,例如,请参阅this GitHub repo。还有一个Titan bug和discussion on the thinkaurelius@
mailing list,其中有一个类似的主题,您可能会发现它很有用,其中一个帖子引用了这个主题。
作为使用将Titan升级到3.1.x的Titan 1.0 fork的替代方法,您还可以考虑未发布的Titan 1.1 branch,它取决于TinkerPop 3.1.1-incubating,因此可能适合与Hadoop一起使用2.x和YARN。 Titan 1.1.0-SNAPSHOT可能对您有用;见artifacts on Sonatype。
来自Titan wiki的信息解释了Titan 1.0支持哪些TinkerPop和Hadoop版本:
Titan 1.0.0本身兼容Hadoop 1和2,但是TinkerPop的hadoop-gremlin需要Hadoop 1. hadoop-gremlin包含用于在Spark和Giraph上运行遍历的图形计算机实现。
这将在以后的TinkerPop版本中发生变化。 Titan 1.0.0依赖于TinkerPop 3.0.1孵化。但是,TinkerPop 3.1.0版本已宣布支持Hadoop 2:https://groups.google.com/d/msg/gremlin-users/VB5D61L-xm8/_0MKqcTdAQAJ
一旦TinkerPop 3.1.0发布,后续的Titan可以恢复完整的Hadoop 2支持。如果这样做无痛,将保留Hadoop 1支持;如果它引发冲突,那么它可能会被删除。
然而,对于使用TinkerPop 3.0.1孵化的Titan 1.0.0,情况正好相反:由于hadoop-gremlin,只能在zipfile发行版中完全支持Hadoop 1,并且只提供Hadoop 2支持可以避免围绕hadoop-gremlin的冲突。 Hadoop 1 zipfile提供了其Hadoop 2对应的所有功能,除了它缺少titan-solr并且它无法与Hadoop 2集群通信(通常包括在Hadoop 2之上运行的HBase集群)。与Hadoop 1对应物相比,Hadoop 2 zipfile缺少以下功能:
- Hadoop 2 zipfile缺少titan-hadoop和hadoop-gremlin
- Hadoop 2 zipfile缺少MapReduceIndexJobs
- Hadoop 2 zipfile的测试不如Hadoop 1 zipfile;
可能会破坏其他位但尚未被发现