1

我在 Cassandra 和 Elasticsearch 的嵌入式模式下使用 Titan 0.3.2。我正在为我的(输入/ )使用Titan 文档中记录的配置:cassandra-es.propertiestitan.shtitan.bat

storage.backend=embeddedcassandra
storage.cassandra-config-dir=config/cassandra.yaml

storage.index.search.backend=elasticsearch
storage.index.search.directory=/tmp/searchindex
storage.index.search.client-only=false
storage.index.search.local-mode=true

但我正在尝试通过 Gremlin 客户端外壳(带有)获得正确的配置bin/cassandra-es.local以连接到 Titan 服务器。g = TitanFactory.open("cassandra-es.local")如果我尝试使用下载中包含的默认版本:

storage.backend=cassandrathrift
storage.hostname=127.0.0.1

该图对 ES 索引(“”)一无所知Index is unknown or not configured: search

如果我配置它:

storage.backend=cassandrathrift
storage.hostname=127.0.0.1

storage.index.search.backend=elasticsearch
storage.index.search.client-only=false
storage.index.search.directory=/tmp/cassandra/elasticsearch

它将在另一个似乎与服务器使用的端口分开存在的端口上创建一个 ES 实例。

我的问题:(如何)设置 Gremlin 控制台以与 Titan 嵌入式服务器正确通信?

4

1 回答 1

0

Google 小组最近对此进行了一些讨论。看起来实际上不可能在一台机器上运行两个 ES 实例,因此解决此问题的一种更简单的方法是在 VM 上单独设置 ES。

我尝试了这个解决方案,它在cassandra-es.local和中都可以正常工作titan-server-cassandra-es.properties

storage.index.search.backend=elasticsearch
storage.index.search.hostname=<VM ES server IP>
storage.index.search.client-only=true

我现在可以从 Gremlin shell 和 Titan 服务器访问相同的 ES 索引。

于 2013-09-25T20:04:37.390 回答