Я пытаюсь настроить Titan (сервер 0.4.4) со встроенной Cassandra. Моя среда - Windows 8.1 x64 + Cygwin. Установка находится в E: \ titan-server-0.4.4.
Мне также нужно иметь доступ к этой настройке через Rexster.
Для моей конфигурации я ссылался на https://github.com/thinkaurelius/titan/wiki/Using-Cassandra. Я изменил конфигурацию графика E: \ titan-server-0.4.4 \ conf \ rexster-cassandra-es.xml раздел графика на
<graph>
<graph-name>graph</graph-name>
<graph-type>com.thinkaurelius.titan.tinkerpop.rexster.TitanGraphConfiguration</graph-type>
<graph-read-only>false</graph-read-only>
<properties>
<auto-type>none</auto-type>
<storage.batch-loading>true</storage.batch-loading>
<storage.cassandra-config-dir>file:///E:\titan-server-0.4.4\conf\cassandra.yaml</storage.cassandra-config-dir>
<storage.backend>embeddedcassandra</storage.backend>
<storage.index.search.backend>elasticsearch</storage.index.search.backend>
<storage.index.search.directory>../db/es</storage.index.search.directory>
<storage.index.search.client-only>false</storage.index.search.client-only>
<storage.index.search.local-mode>true</storage.index.search.local-mode>
</properties>
<extensions>
<allows>
<allow>tp:gremlin</allow>
</allows>
</extensions>
</graph>
(Примечание
<auto-type>none</auto-type>
<storage.batch-loading>true</storage.batch-loading>
они предназначены для объемной вставки. Вся идея встроенной Cassandra заключается в улучшении производительности вставки.)
Однако, когда я попытался запустить службу с помощью ./bin/titan.sh -v start, запуск не удался:
Я попытался настроить порты в "E: \ titan-server-0.4.4 \ conf \ cassandra.yaml", но после некоторого расследования я понял, что порт фактически занят самой Cassandra, то есть в этой конфигурации. /bin/titan.sh -v start пытается запустить несколько экземпляров Cassandra ?!
Я скопировал cassandra.yaml в cassandra2.yaml с другими настройками порта и указал путь к cassandra2.yaml в xml конфигурации графа. После этого я смог запустить Rexster со встроенными Titan и Cassandra, запустив ./bin/titan.sh -v start.
Однако я твердо уверен, что с этой настройкой что-то не так. Кроме того, система плохо себя ведет - иногда мне не удается сохранить график в оболочке Rexster (веб-интерфейс) Gremlin с помощью g.commit()
- команда выполняется успешно, но ничего не сохраняется.
Итак, это правильный способ запустить Titan со встроенной Cassandra? Какая должна быть конфигурация?
Если вы используете сервер Titan через оболочку или сценарий bat, он автоматически запустит для вас экземпляр Titan и попытается подключиться к нему через localhost. Когда вы настроили его для использования встроенной Cassandra, два экземпляра естественно конфликтуют.