将Gremlin shell连接到Titan Elasticsearch / Cassandra嵌入式实例?

时间:2013-09-25 20:04:37

标签: titan

我在Cassandra和Elasticsearch的嵌入模式下使用Titan 0.3.2。我正在使用cassandra-es.properties中记录的配置为titan.sh(已加入titan.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 ):

bin/cassandra-es.local

但我正在尝试通过Gremlin客户端shell(g = TitanFactory.open("cassandra-es.local"))为storage.backend=cassandrathrift storage.hostname=127.0.0.1 获取正确的配置以连接到Titan服务器。如果我尝试使用下载中包含的默认版本:

Index is unknown or not configured: search

该图表不会对ES索引有任何了解(“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 ”)。

如果我配置:

{{1}}

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

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

1 个答案:

答案 0 :(得分:0)

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

我试用了这个解决方案,它在cassandra-es.localtitan-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索引。