问题标签 [giraph]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
773 浏览

java - 如何编写和运行 apache Giraph 自定义代码?

从过去 10 天开始,我一直在研究 giraph。我得到了如何在 Giraph 中安装和执行给定示例的想法。但我想设计自己的自定义代码,所以我需要你的帮助。如果有人完成了这个,请告诉我并给出一些想法。

0 投票
3 回答
310 浏览

giraph - 如何在 giraph 中将 SplitMasterWorker 值设置为 false

我尝试从 Eclipse IDE 执行 giraph 自定义代码,当我尝试运行代码时,它在线程“main”java.lang.IllegalArgumentException 中显示异常:checkLocalJobRunnerConfiguration:使用 LocalJobRunner 时,必须只有一个工作人员,因为在一次!所以我想设置 giraph.SplitMasterWorker=false。如何设置它以及在哪里设置它?

0 投票
2 回答
282 浏览

hadoop - 是使用 Giraph 所必需的 hadoop

我想使用 Giraph 作为我工作的图形处理工具。我熟悉 Mahout,我知道我可以在不使用 Hadoop 的情况下使用 Mahout 的某些部分,例如推荐系统。但是,我不知道这对于 Giraph 是否相同,以及我是否可以在不使用 Hadoop 的情况下使用它。

0 投票
2 回答
677 浏览

hadoop - Giraph best 的顶点输入格式,用于 id 类型为 String 的输入文件

我有一个多节点 giraph 集群在我的 PC 中正常工作。我从 Giraph 执行了 SimpleShortestPathExample 并且执行得很好。

这个算法是用这个文件(tiny_graph.txt)运行的:

该文件具有以下输入格式:

现在,我正在尝试在同一个集群中执行相同的算法,但输入文件与原始文件不同。我自己的文件是这样的:

它与原版非常相似,但 id 是 String,顶点和边值是 Long。我的问题是我应该使用哪个 TextInputFormat ,因为我已经尝试过org.apache.giraph.io.formats.JsonLongDoubleFloatDoubleVertexInputFormat并且org.apache.giraph.io.formats.TextDoubleDoubleAdjacencyListVertexInputFormat我无法让它工作。

解决了这个问题后,我可以调整原始的最短路径示例算法并让它适用于我的文件,但是在我得到解决方案之前,我无法达到这一点。

如果这种格式不是一个好的决定,我可能会调整它,但我不知道哪个是我最好的选择,我从 giraph 中的文本输入和输出格式中获得的知识真的很糟糕,这就是为什么 i0me 在这里寻求建议。

0 投票
0 回答
450 浏览

maven - Hadoop Yarn 配置文件的 Giraph 构建失败并出现 org.apache.maven.wagon.TransferFailedException

我正在尝试使用 Yarn 配置文件为 Hadoop 2.7.1 构建 Giraph。我正在获取TransferFailedException资源:http://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-core/1.0-alpha-8/doxia-core-1.0-alpha-8。罐子

该资源可通过浏览器获得。我正在执行的构建命令是:

我的设置是:

  • Java版本:1.7.0_79
  • Hadoop版本:2.7.1
  • Giraph 版本:1.1.0
  • Maven 版本:3.0.5

构建错误堆栈跟踪如下:

0 投票
1 回答
386 浏览

hadoop - 从纱线中的边缘读取字节时出现 OutOfMemory 错误

我正在用纱线做一个 BFS 算法,我为我的顶点(顶点数据)上的数据创建了一个自定义值。但是,在我这样做之后,读取边缘的过程出现了问题。

我将错误追溯到以下代码行:

  • 在 ByteArrayEdges 中,变量serializedEdgesBytesUsed获取值1987015248并在分配新数组时给出 OutOfMemory 错误(据我所知,java 限制为 64K)

    }

我不确定为什么会发生这种情况,但在使用自定义顶点数据之前,这个问题不存在。

完整的日志在这里(我直接从 Eclipse 进行测试,因为在伪分布式集群中要困难得多):

用于执行此操作的终端行是:

也许我应该使用一个EdgeInputFormat

谢谢阅读。

0 投票
0 回答
333 浏览

java - Giraph ShortestPathExample java.net.ConnectException:连接被拒绝

我已经在单节点伪分布上运行了 SimpleShortestPathsComputation,我目前正在尝试在 Ubuntu 14.04 上的 2 节点集群上运行它。但每次我得到以下错误:(下面的完整日志)

这似乎是 NettyClient 无法与端口 30001 上的其他节点连接导致java.net.ConnectException: Connection refused: rofti/192.168.0.103:30001. 我已经尝试按照此处所述打开两个节点上的端口, 并确保所有主机名都仅以小写字母书写。但这并没有改变什么。我非常感谢你们可以提供的任何帮助。

以下是一些文件和日志:

iptables -L 的输出:

文件:主服务器上的 /etc/hosts(rofti-ex58-ud3r):

Zookeeper 配置文件:conf/zoo.cfg

系统日志日志 1:

系统日志 2:

0 投票
3 回答
955 浏览

java - java.io.IOException: ensureRemaining: 只剩下 0 个字节,试图读取 1

我在 giraph 中的自定义类有一些问题。我制作了 VertexInput 和 Output 格式,但我总是收到以下错误:

在放置“*”的位置具有不同的值。

这是在单节点集群上测试的。

当 vertexIterator 执行 next() 时会发生此问题,并且没有更多的顶点了。这个迭代器是从flush方法调用的,但我基本上不明白为什么“next()”方法失败了。这是一些日志和类...

我的日志如下:

我的输入格式:

TextAndDoubleComplexWritable:

我的输入文件:

我用这个命令执行它:

任何帮助,将不胜感激!


更新:我的输入文件是错误的。Giraph(或我的例子)不能很好地处理传出到未列出的顶点。

但问题仍然存在。我更新了原始问题的文件数据。

更新2:未使用OutputFormat,也从未执行计算算法。我删除两者以帮助澄清问题。

2015 年 11 月 19 日更新 3:问题不在于输入格式,输入格式运行良好并完全读取数据。问题出在课堂TextAndDoubleComplexWritable上,我将其添加到我的原始问题中,以便更好地解释最终解决方案(我也添加了答案)。

0 投票
1 回答
59 浏览

memory - Giraph 可以将先前作业中的内存图重用于后续作业吗?

我有大约百万个节点和十亿个边,所以 Giraph 是否将图形保存在内存中,以便它可以再次用于后续作业,或者它是否分别在每个作业之前和之后加载和存储完整的图形?

0 投票
1 回答
48 浏览

memory - 是否可以操作 Giraph 加载到内存中的图形?

读过Giraph 是一个图形分析框架,但是无论如何都可以添加、删除或更新 Giraph 加载到内存中的图形的节点和边?