问题标签 [rexster]
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.
titan - rexster http 或 rexpro 需要很长时间才能连接
在 gremlin-group 和 auriliusgraphs 组中发布了相同的问题,在这里发布它没有任何帮助。
我目前正在评估titan+rexster+cassandra+gremlin,在我们的用例中,对图形的写入非常简单,几乎总是通过使用titan buleprints API的java代码发生,但读取可能是非常动态的,并且可以来自运行不同的客户端语言(java / python)因此考虑通过gremlin而不是rexpro阅读。我观察到,每个请求花费大量时间连接到 rexster 服务器约 500 毫秒。目前,我在我的 macbook(2 CPU,8 GB,1600 MHz)上运行了一个非常小的图形,具有 ~3K 顶点和 ~30K 边,我正在运行稍微复杂的查询,涉及遍历两度邻居但都涉及索引。如果我一次运行大约 100 个查询,则完成大约需要一秒钟,即每个查询 10 毫秒,但如果我一个接一个地运行它,大约需要 50 秒,即每个查询约 500 毫秒。如果我运行多个并行客户端时间增加,但不是线性的,例如运行 5 个具有相同 100 个查询的并行客户端大约需要 110 秒,运行 10 个具有相同 100 个查询的并行客户端大约需要 170 秒。如果我将 java 与 RexsterClient 一起使用,python 与 python-rexpro 一起使用,结果是相似的(https://github.com/bdeggleston/rexpro-python),使用 -f 选项或通过 http 客户端直接在 rexster-console 上运行脚本。在 CentOS 6.5 上的单节点集群上运行时,我看到了类似的结果。此外,性能与查询类型的差异不大,即使我只是简单地使用g.V
,结果仍然相似。AFAIK rexster 使用 grizzly,因此预计服务器性能会更好。
我使用的 Titan 版本是 0.5.3。我给了 rexster 1GB Xmx。这是rexster.xml的配置
可能有什么问题?
谢谢和问候, Apoorva
python - 使用灯泡连接到 Rexster 时出现 SystemError
我已经建立了 Titan + Cassandra + Elasticsearch + Rexster 服务器。一切安装正确,我可以在 Gremlin 控制台中使用“众神图”。titan.sh
我从脚本开始一切。
titan/bin/titan.sh status
输出:
如果我去,http://localhost:8182/doghouse
我可以看到一个名为“graph”的空图。
现在我正在尝试使用灯泡包(http://bulbflow.com/)从 Python(3.4)连接到 Rexster。我正在尝试的代码非常简单:
我得到以下异常:
我应该添加名为“graph”的图是我在 Rexster 中找到的默认图,但我没有添加。
所以,我有一些问题:
- 你如何用灯泡连接到 Rexster(我肯定做错了什么)?
- 如何创建新图表?
graph-databases - TITAN:将批量顶点和边上传到图中的最佳提交频率是多少?
我在 Cassandra 和 Elasticsearch 上使用 TITAN-0.4.3、REXSTER 2.4。我的用例需要一次将顶点和边批量上传到图中。现在我在添加每个顶点+边后调用 commit() 。我通过不同的提交频率运行了一些测试,比如每 10K、每 1000 和每 100,上传速度变化很大。我想如何才能达到最佳提交频率,以及它基于什么参数?
有什么建议可以提高我的用例的性能吗?DB的大小大约是10M个顶点。
cassandra - TITAN:Cassandrathrift vs Astyanax 性能
我在 Cassandra(6 节点集群)和 Elasticsearch 上使用 TITAN-0.4.3、REXSTER 2.4。我的用例需要一次将顶点和边批量上传到图中。目前添加新顶点+边的速度非常慢(~45 / sec),目标是~1000 vertices / sec。目前我正在使用 Astyanax 连接到 cassandra(它具有负载平衡和故障转移检测功能)。Astyanax 与 Thrift (Cassandrathrift) 连接器相比是否还有其他优点或缺点,反之亦然?
请指教!
阿斯蒂亚纳克斯
Cassandrathrift
cassandra - Titan:如何检查索引特征,例如是否为 UNIQUE?
我正在使用 TITAN 0.4 版本,使用 cassandra 作为存储后端。在 Vertex 属性上创建了某些索引。我想检查它们是否UNIQUE()
存在?由于我使用的是0.4
版本,g.getManagementSystem()
所以不可用。我可以使用g.getIndexedKeys(Vertex.class)
. 但没有提及独特性等细节。
请指教。
graph-databases - Rexster/Rexpro : RexProScriptException: .. java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: PermGen space
我在 Cassandra 和 Elasticsearch 上使用 TITAN-0.4.3、REXSTER 2.4。我从 Python 调用 rexpro。在单个 gremlin 请求中,我尝试添加 100 个顶点并提交。我能够在 400 多个 gremlin 请求中成功添加 40000 多个顶点。但是在那之后,我得到了例外:
Rexster.sh
[JVM 堆大小] 我尝试增加堆内存,但在插入了几批顶点后仍然抛出异常。
请指教
database - 图数据库结构
在我的例子中,我将使用 Sparsity(以前的名称是 DEX)图形数据库。但是没有与图数据库相关的经验。我已经阅读了几篇文章,其中很多都提出了一些建议(Rexster 服务器、REST API、Bluprint 等)以使用这些 DB-s。那么,是否有必要为那些 DB-s 使用服务器(即 Rexster)?为了进行数据库操作,我必须做什么配置。我将使用 Java 作为编程语言。
python - 为什么 Rexster Server(和 Titan)停止响应?
设置
我正在使用带有 Elasticsearch 后端的 Titan Rexster (titan-server-0.4.4.zip) 实现在 Ubuntu 12.4 服务器上运行的推荐系统。为了连接到 Rexster 服务器,我使用 Python 的 Bulbflow 库。
Beta 似乎运行良好 3 周,但随着负载“增加”(只有几个用户 ~10),Rexster 服务器停止响应。我不知道我的 rexster 配置是否错误,或者我没有正确使用 Bulbflow 库。
Rexster / Titan 配置
这是我的 rexster-cassandra-es.xml:
我已经更改了工作线程和内核的线程池的核心大小和最大大小,如果不进行更改,Rexster 服务器将挂起/不响应更快。
核心尺寸和最大尺寸的合适值是多少?
球流使用
为了使用bulbflow,我每次需要执行请求时都会创建一个新的Graph 对象。有很多请求,所以这些对象被频繁地创建。
我真的应该为每个新请求创建一个新的 Graph 对象吗?
是否可以只创建一个 Graph 对象并在向图形数据库发送新请求时使用它,或者我是否遇到会话问题?
错误信息
当一切都卡住并且我强制终止程序(ctrl-c)时,我得到以下堆栈跟踪:
恢复
为了恢复,我必须关闭 rexster / titan 并重新启动它。每当我停止 Rexster 服务器(./bin/titan -c cassandra-es stop)时,我都会收到以下输出:
Rexster 完全卡住了。
期待收到一些有用的指导。
graph - TITAN:Gremlin 查询在重复执行时返回不一致的结果
我在 cassandra 上运行 REXSTER/TITAN 0.4 并使用 gremlin 进行遍历。我在 Rexster Doghouse Gremlin 控制台中运行了 gremlin 查询。
顶点 92 之前已被删除,因为它是具有相同键的重复顶点(“eddy.com”)
但是当我查询时,我有时会得到那个顶点,有时不会。这是在本地开发机器上运行的,这意味着没有其他线程或并行任务在两者之间运行/更新此顶点。我在这里缺少任何配置/设置吗?这是一个错误吗?请帮忙!
graph-databases - 如何直接查询 Titan 索引(标准)以按排序顺序检索顶点
我在 Cassandra 上使用 Rexster/TITAN 0.4。顶点键使用标准索引进行索引,如下所示。g.makeKey("domain").dataType(String.class).indexed("standard", Vertex.class).make(); 我没有将唯一性用于性能和可伸缩性。图中大约有 10M 个顶点。
我的要求是遍历每个顶点并确定是否有重复项,然后将其删除。有没有办法直接从已经存在的索引中获取排序的顶点列表。类似于“直接索引查询”的索引(标准 TITAN 索引)的直接查询。这样我就可以将整个顶点分成更小的批次并单独处理。
如果不可能,实现这一目标的最佳方法是什么。我不想使用 Titan-Hadoop 或类似的解决方案来查找/删除图中的重复项。
我想运行以下查询以按排序顺序获取 1000 个顶点。
但是这个查询没有使用在 'domain' 上创建的标准索引,并且无法运行,出现内存不足的异常。我在图中有~10M 个顶点。
在这种特殊情况下,如何强制 gremlin 使用索引?