问题标签 [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.
java - 如何编写和运行 apache Giraph 自定义代码?
从过去 10 天开始,我一直在研究 giraph。我得到了如何在 Giraph 中安装和执行给定示例的想法。但我想设计自己的自定义代码,所以我需要你的帮助。如果有人完成了这个,请告诉我并给出一些想法。
giraph - 如何在 giraph 中将 SplitMasterWorker 值设置为 false
我尝试从 Eclipse IDE 执行 giraph 自定义代码,当我尝试运行代码时,它在线程“main”java.lang.IllegalArgumentException 中显示异常:checkLocalJobRunnerConfiguration:使用 LocalJobRunner 时,必须只有一个工作人员,因为在一次!所以我想设置 giraph.SplitMasterWorker=false。如何设置它以及在哪里设置它?
hadoop - 是使用 Giraph 所必需的 hadoop
我想使用 Giraph 作为我工作的图形处理工具。我熟悉 Mahout,我知道我可以在不使用 Hadoop 的情况下使用 Mahout 的某些部分,例如推荐系统。但是,我不知道这对于 Giraph 是否相同,以及我是否可以在不使用 Hadoop 的情况下使用它。
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 在这里寻求建议。
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
构建错误堆栈跟踪如下:
hadoop - 从纱线中的边缘读取字节时出现 OutOfMemory 错误
我正在用纱线做一个 BFS 算法,我为我的顶点(顶点数据)上的数据创建了一个自定义值。但是,在我这样做之后,读取边缘的过程出现了问题。
我将错误追溯到以下代码行:
在 ByteArrayEdges 中,变量
serializedEdgesBytesUsed
获取值1987015248
并在分配新数组时给出 OutOfMemory 错误(据我所知,java 限制为 64K)}
我不确定为什么会发生这种情况,但在使用自定义顶点数据之前,这个问题不存在。
完整的日志在这里(我直接从 Eclipse 进行测试,因为在伪分布式集群中要困难得多):
用于执行此操作的终端行是:
也许我应该使用一个EdgeInputFormat
?
谢谢阅读。
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:
java - java.io.IOException: ensureRemaining: 只剩下 0 个字节,试图读取 1
我在 giraph 中的自定义类有一些问题。我制作了 VertexInput 和 Output 格式,但我总是收到以下错误:
在放置“*”的位置具有不同的值。
这是在单节点集群上测试的。
当 vertexIterator 执行 next() 时会发生此问题,并且没有更多的顶点了。这个迭代器是从flush方法调用的,但我基本上不明白为什么“next()”方法失败了。这是一些日志和类...
我的日志如下:
我的输入格式:
TextAndDoubleComplexWritable:
我的输入文件:
我用这个命令执行它:
任何帮助,将不胜感激!
更新:我的输入文件是错误的。Giraph(或我的例子)不能很好地处理传出到未列出的顶点。
但问题仍然存在。我更新了原始问题的文件数据。
更新2:未使用OutputFormat,也从未执行计算算法。我删除两者以帮助澄清问题。
2015 年 11 月 19 日更新 3:问题不在于输入格式,输入格式运行良好并完全读取数据。问题出在课堂TextAndDoubleComplexWritable
上,我将其添加到我的原始问题中,以便更好地解释最终解决方案(我也添加了答案)。
memory - Giraph 可以将先前作业中的内存图重用于后续作业吗?
我有大约百万个节点和十亿个边,所以 Giraph 是否将图形保存在内存中,以便它可以再次用于后续作业,或者它是否分别在每个作业之前和之后加载和存储完整的图形?
memory - 是否可以操作 Giraph 加载到内存中的图形?
我读过Giraph 是一个图形分析框架,但是无论如何都可以添加、删除或更新 Giraph 加载到内存中的图形的节点和边?