我在机器上运行 Titan/Rexter,并有一个 Cassandra 的 3 节点集群作为 Titan 图数据库的 storage.backend。我想配置 Rexster,以便连接到 Cassandra 集群的所有 3 个节点。我已将 cassandra 的所有节点的 IP 地址以逗号分隔,如下所示。
<graph>
<graph-name>graph</graph-name>
...
<properties>
<storage.backend>cassandrathrift</storage.backend>
<storage.hostname>10.240.182.197,10.240.166.40,10.240.78.153</storage.hostname>
...
</properties>
</graph>
但似乎 Rexster 仅连接到第一个节点“10.240.182.197”,这意味着如果我关闭节点 - 10.240.182.197,Rexster 无法连接到其他节点并引发异常
Rexster 启动日志
[INFO] RexsterApplicationGraph - Graph [graph] - configured with allowable namespace [tp:gremlin]
**[INFO] GraphConfigurationContainer - Graph graph - titangraph**[cassandrathrift:10.240.182.197]** loaded**
[INFO] RexsterApplicationGraph - Graph [tinkergraph] - configured with allowable namespace [tp:gremlin]
[INFO] GraphConfigurationContainer - Graph tinkergraph - tinkergraph[vertices:0 edges:0 directory:data/graph-example-1] loaded
[更新] 我将配置从“cassandrathrift”更改为“cassandra”,现在它能够连接到所有节点。
现在我的问题是为什么“cassandrathrift”API 无法连接到其他节点?使用“cassandrathrift”和“cassandra”有什么区别?优点缺点?哪一个在将数据加载和检索到图形时更快?