gpt4 book ai didi

java - Cassandra,Titan,致命配置错误

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:34:24 26 4
gpt4 key购买 nike

我尝试使用 cassandra (linux) 启动 titan:

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 [main] ERROR o.a.c.config.DatabaseDescriptor - Fatal configuration error org.apache.cassandra.exceptions.ConfigurationException: Expecting URI in variable: [cassandra.config]. Please prefix the file with file:/// for local files or file:/// for remote files. Aborting. If you are executing this from an external tool, it needs to set Config.setClientMode(true) to avoid loading configuration. at org.apache.cassandra.config.YamlConfigurationLoader.getStorageConfigURL(YamlConfigurationLoader.java:73) ~[cassandra-all-2.1.9.jar:2.1.9] at 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] at org.apache.cassandra.config.DatabaseDescriptor.(DatabaseDescriptor.java:136) ~[cassandra-all-2.1.9.jar:2.1.9] at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:164) [cassandra-all-2.1.9.jar:2.1.9] at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:537) [cassandra-all-2.1.9.jar:2.1.9] at 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:na] at com.thinkaurelius.titan.diskstorage.cassandra.embedded.CassandraEmbeddedStoreManager.(CassandraEmbeddedStoreManager.java:81) [titan-cassandra-1.0.0.jar:na] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [na:1.8.0_112] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) [na:1.8.0_112] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [na:1.8.0_112] at java.lang.reflect.Constructor.newInstance(Constructor.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.configuration.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] at 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) [main/:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_112] at 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] at 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]

最佳答案

嵌入式 Cassandra 要求您指定在哪里可以找到其配置文件 (cassandra.yaml)。来自documentation :

When running Titan in embedded mode, the Cassandra yaml file is configured using the additional configuration option storage.conf-file, which specifies the yaml file as a full url, e.g. storage.conf-file = file:///home/cassandra.yaml.

根据您要实现的目标以及无论如何您都没有完全在内存中运行 (Elasticsearch),您可能会考虑使用 berkeleyje 作为存储后端。 Berkeley DB for Titan 本质上是零配置。您需要做的就是指定存储目录。例如。

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

当然你可以随意将存储目录放在任何你喜欢的地方。

index backend独立于持久性后端,需要自己的配置,具体取决于您选择的后端。同样,根据您想要实现的目标,您可以从没有开始。相等比较的索引是 natively supported通过 Titan,您不需要外部搜索索引。小心这个打开Titan issue .不保证搜索索引始终与图形同步。

关于java - Cassandra,Titan,致命配置错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40676534/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com