2016-11-18 7 views
1

Я попытался, начиная с титаном CASSANDRA (Linux):Кассандра, Титан, ошибка Фатальных конфигураций

TitanFactory.Builder config = TitanFactory.build(); 

config.set("storage.backend", "embeddedcassandra"); 
config.set("storage.directory", DIRECTORY); 
config.set("index." + INDEX_NAME + ".backend", "elasticsearch"); 
config.set("index." + INDEX_NAME + ".DIRECTORY", DIRECTORY + File.separator + "es"); 
config.set("index." + INDEX_NAME + ".elasticsearch.local-mode", true); 
config.set("index." + INDEX_NAME + ".elasticsearch.client-only", false); 

graph = config.open(); 

Получением следующего журнала:

09: 57: 50,195 [Основная] ОШИБКА oacconfig. DatabaseDescriptor - Fatal ошибка конфигурации org.apache.cassandra.exceptions.ConfigurationException: Ожидание URI в переменной: [cassandra.config]. Пожалуйста, префикс файла с файлом: /// для локальных файлов или файлов: /// для удаленных файлов. Aborting. Если вы используете из внешнего инструмента, для предотвращения загрузки конфигурации необходимо установить Config.setClientMode (true). на org.apache.cassandra.config.YamlConfigurationLoader.getStorageConfigURL (YamlConfigurationLoader.java:73) ~ [Cassandra-все-2.1.9.jar: 2.1.9] в org.apache.cassandra.config.YamlConfigurationLoader.loadConfig (YamlConfigurationLoader.java:84) ~ [cassandra-all-2.1.9.jar: 2.1.9] at org.apache.cassandra.config.DatabaseDescriptor.loadConfig (DatabaseDescriptor.java:161) ~ [cassandra-all -2.1.9.jar: 2.1.9] на org.apache.cassandra.config.DatabaseDescriptor. (DatabaseDescriptor.java:136) ~ [cassandra-all-2.1.9.jar: 2.1.9] на org .apache.cassandra.service.CassandraDaemon.setup (CassandraDaemon.java:164) [cassandra-all-2.1.9.jar: 2.1.9] на org.apache.cassandra.ser Vice.CassandraDaemon.activate (CassandraDaemon.java:537) [cassandra-all-2.1.9.jar: 2.1.9] на org.apache.cassandra.service.CassandraDaemon.main (CassandraDaemon.java:626) [ cassandra-all-2.1.9.jar: 2.1.9] at com.thinkaurelius.titan.diskstorage.cassandra.utils.CassandraDaemonWrapper.start (CassandraDaemonWrapper.java:75) [titan-cassandra-1.0.0.jar: на] на com.thinkaurelius.titan.diskstorage.cassandra.embedded.CassandraEmbeddedStoreManager (CassandraEmbeddedStoreManager.java:81) [титан-Cassandra-1.0.0.jar:. на] на sun.reflect.NativeConstructorAccessorImpl.newInstance0 (Родной Метод) [na: 1.8.0_112] на sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl. Java: 62) [па: 1.8.0_112] на sun.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:45) [па: 1.8.0_112] на java.lang.reflect.Constructor.newInstance (Конструктор. java: 423) [na: 1.8.0_112] at com.thinkaurelius.titan.util.system.ConfigurationUtil.instantiate (ConfigurationUtil.java:44) [titan-core-1.0.0.jar: na] at com.thinkaurelius.titan.diskstorage.Backend.getImplementationClass (Backend.java:473) [titan-core-1.0.0.jar: na] at com.thinkaurelius.titan.diskstorage.Backend.getStorageManager (Backend.java: 407) [titan-core-1.0.0.jar: na] at com.thinkaurelius.titan.graphdb.configur ation.GraphDatabaseConfiguration. (GraphDatabaseConfiguration.java:1320) [titan-core-1.0.0.jar: na] at com.thinkaurelius.titan.core.TitanFactory.open (TitanFactory.java:94) [titan-core -1.0.0.jar: na] at com.thinkaurelius.titan.core.TitanFactory.open (TitanFactory.java:84) [titan-core-1.0.0.jar: na] at com.thinkaurelius.titan .core.TitanFactory $ Builder.open (TitanFactory.java:139) [titan-core-1.0.0.jar: na] в main.java.com.bag.server.database.TitanDatabaseAccess.start (TitanDatabaseAccess.java: 68) [main /: na] at main.java.com.bag.server.TestServer. (TestServer.java:105) [main /: na] at main.java.com.bag.server .TestServer.main (TestServer.java:428) [Основной /: на] в sun.reflect.NativeMethodAccessorImpl.invoke0 (Родной метод) ~ [па: 1.8.0_112] на sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl .java: 62) ~ [na: 1.8.0_112] at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) ~ [na: 1.8.0_112] в java.lang.reflect.Method.invoke (Method.java:498) ~ [na: 1.8.0_112] at com.intellij.rt.execution.application.AppMain.main (AppMain.java:147) [idea_rt.jar: na]

ответ

4

В Embedded Cassandra вам должно быть указано, где находится файл конфигурации (cassandra.yaml). Из documentation:

При запуске Titan во встроенном режиме, YAML файл Кассандра настраивается с помощью дополнительного параметра конфигурации storage.conf-файл, который определяет файл YAML как полный URL, например storage.conf-file = file: ///home/cassandra.yaml.

В зависимости от того, что вы пытаетесь достичь, и, как вы в любом случае не работает полностью в оперативной памяти (Elasticsearch) Вы могли бы рассмотреть возможность использования berkeleyje в качестве внутреннего интерфейса хранения. Berkeley DB для Titan, по сути, является нулевой конфигурацией. Все, что вам нужно, это указать каталог хранилища. Например.

storage.backend=berkeleyje 
storage.directory=${java.io.tmpdir}/${storage.dir} 

Конечно, вы можете размещать каталог хранения везде, где хотите.

index backend не зависит от внутреннего хранилища и требует собственной конфигурации в зависимости от того, какой бэкэнд вы выберете. Опять же, в зависимости от того, чего вы пытаетесь достичь, вы можете начать без него. Индексы для сравнений равен natively supported от Titan, для этого вам не нужен внешний индекс поиска. Опасайтесь этого открытого Titan issue. Индекс поиска не всегда будет синхронизироваться с графиком.

+0

Как я собираюсь запустить некоторые ориентиры по моему проекту. Какова самая быстрая база данных для хранения? – user2524707

+0

Это зависит от ваших шаблонов использования. Например. C * оптимизирован для работы с большими нагрузками. В то же время это не так хорошо, если вы регулярно удаляете много данных. Поскольку Titan никогда не обновляет ребро, а скорее удаляет и воссоздает их, это не будет хорошим шаблоном использования для бэкэнда C *. Я бы просто начал с бэкэнда, который проще всего использовать. Какими будут хранилища для хранения данных «inmemory» и «berkeleyje». – Ralf

+0

Я собираюсь читать, писать, удалять множество узлов и отношений. Наверное, много читал. Я должен использовать java для доступа к нему, хотя. – user2524707