Как настроить Titan со встроенными Cassandra и Rexster

Я пытаюсь настроить 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, два экземпляра естественно конфликтуют.


person user1234883    schedule 22.05.2014    source источник
comment
Конечно, но это то, что я только что сказал выше. Этот другой процесс также является Касандрой. Это кажется неправильным. Мне просто нужна одна Casandra - как изменить конфигурацию, чтобы ограничить настройку только одной Casandra?   -  person kinkajou    schedule 25.05.2014
comment
вы используете кассандру как отдельную установку?   -  person user1234883    schedule 26.05.2014
comment
Нет. Я использую Кассандру, поставляемую с Titan, то есть в ZIP-архиве Titan server 0.4.4. Только файлы конфигурации коснулся. Я твердо верю, что ./bin/titan.sh, поставляемый дистрибутивом Titan, запускает как rexster, так и Cassandra.   -  person kinkajou    schedule 26.05.2014
comment
запустите bin / titan.sh stop, чтобы убить весь процесс (cassandra + titan + rexter) и запустить bin / titan.sh. Вы пробовали это?   -  person user1234883    schedule 27.05.2014
comment
Конечно. Это базовые вещи, правда? :). Я даже пробовал убить все java-процессы ...   -  person kinkajou    schedule 27.05.2014
comment
Спасибо; К этому времени я узнал из списка рассылки Тициана, что встраивание Cassandra не рекомендуется. Но на всякий случай, есть ли у вас (команда Aureilius) какие-нибудь инструкции по настройке с помощью Rexster? Удалить часть скрипта titan.sh, запускающего Кассандру?   -  person user1234883    schedule 28.05.2014


Ответы (1)


Есть ли конкретная причина, по которой вы хотите использовать встроенную Cassandra? Я настоятельно рекомендую вам сначала попробовать готовую версию. Встроенная Cassandra в основном предназначена для приложений с низкой задержкой и требует твердого понимания JVM.

Удачи!

Порт используется другим процессом.

person Matthias Broecheler    schedule 31.05.2014
comment
org.apache.cassandra.exceptions.ConfigurationException: localhost / 127.0.0.1: 7000 используется другим процессом. Измените listen_address: storage_port в cassandra.yaml на значения, которые не конфликтуют с другими службами в org.apache.cassandra.net.MessagingService.getServerSocket (MessagingService.java:439) в org.apache.cassandra.net.MessagingService.listen (MessagingService .java: 387) на org.apache.cassandra.service.StorageService.joinTokenRing (StorageService.java:549) на org.apache.cassandra.service.StorageService.initServer (StorageService.java:514) на org.apache.cassandra. service.StorageService.initServer (StorageService.java:411) в org.apache.cassandra.service.CassandraDaemon.setup (CassandraDaemon.java:278) в org.apache.cassandra.service.CassandraDaemon.activate3.javaDaemon.activate (CassandraDaemon.activate3). на org.apache.cassandra.service.CassandraDaemon.main (CassandraDaemon.java:409) на com.thinkaurelius.titan.diskstorage.cassandra.utils.CassandraDaemonWrapper.start (CassandraDaemonWrapper.java:51) atur elius.titan.diskstorage.cassandra.embedded.CassandraEmbeddedStoreManager. (CassandraEmbeddedStoreManager.java:102) в sun.reflect.NativeConstructorAccessorImpl.newInstance0 (собственный метод) в sun.reflect.Implance. .DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:45) в java.lang.reflect.Constructor.newInstance (Constructor.java:408) в com.thinkaurelius.titan.diskstorage.Backend.instantiate. thinkaurelius.titan.diskstorage.Backend.getImplementationClass (Backend.java:367) по адресу com.thinkaurelius.titan.diskstorage.Backend.getStorageManager (Backend.java:311) по адресу com.thinkaurelius.titan.diskstorage. : 121) на com.thinkaurelius.titan.graphdb.configuration.GraphDatabaseConfiguration.getBackend (GraphDatabaseConfiguration.java:1173) на com. думаю, (TitanGraphConfiguration.java:25) в com.tinkerpop.rexster.config.GraphConfigurationContainer.getGraphFromConfiguration (GraphConfigurationContainer.java:119) в com.tinkerpop.rexster.config. GraphConfigurationContainer. (GraphConfigurationContainer.java:54) по адресу com.tinkerpop.rexster.server.XmlRexsterApplication.reconfigure (XmlRexsterApplication.java:99) по адресу com.tinkerpop.rexster.server.XmlRexsterApplication. .rexster.Application. (Application.java:96) в com.tinkerpop.rexster.Application.main (Application.java:188) localhost / 127.0.0.1: 7000 используется другим процессом. Измените listen_address: storage_port в cassandra.yaml на значения, которые не конфликтуют с другими службами - person user1234883; 31.05.2014