cassandra - 如何实际设置基本的 Titan + Rexster + Cassandra?

标签 cassandra titan rexster

我正在尝试设置一个完全基本的 Titan Rexster Cassandra 实例,但我似乎无法破解代码。我现在已经尝试了很多东西来让它工作,但我似乎无法让它工作。无论我读了多少关于它,我都无法正确设置它。

我想要的是一个以嵌入模式运行的 Titan-rexster-cassandra 实例,其中包含一些索引,包括 Elasticsearch 。在我阅读了所有内容之后,当我下载titan-server-0.4.0 并运行bin/titan.sh start 时,这似乎是我应该得到的。命令。这也会启动服务器。但是:当我尝试为此添加索引时,没有任何 react 。当我尝试通过 RexPro 填充它时,没有添加任何内容。

当我重新启动服务器时,我的图表消失了。当我转到 http://localhost:8182/graphs 时,它不再在 Rexster 图表列表中.因此,我的数据似乎不存在,或者至少对于 rexster 来说消失了。

我觉得我已经尝试了几乎所有方法来让它工作:

  • 更改 .properties像这样包含搜索索引:storrage.index.search.backend=elasticsearch ...
  • 更改 .properties文件(所有这些)使用 cassandra , embeddedcassandracassandrathriftstorage.backend
  • 尝试使用 this question 中指示的属性启动服务器指向特定的配置文件。
  • 我浏览了titan.sh文件以查看实际发生的情况,然后转到这些指示的配置文件并查看那里发生了什么,我已经尝试了很多事情,例如上述内容。

  • 我已经为此挣扎了一个多星期,可能两个甚至更多,我开始失去信心。我正在考虑回到 neo4j,但不幸的是我真的需要 Titan 的可扩展性。但是,如果我不能让它工作,那么它就没有用了。我觉得可能有一些琐碎但必不可少的事情我还没有弄清楚或忘记了。

    有没有人知道那里有一个指南可以让您从绝对零开始(例如,启动一个新的 VM 或其他东西)或接近它,让一个带有 Elasticsearch 索引的 Titan-rexster-cassandra 实例运行?或者,如果您很棒,请提供这样的指南?我感到失落 :(

    关键点:

    Ubuntu 12.04(也试过 13.10。同样的问题)

    泰坦 0.4.0

    目标:要获得持久性,请使用 Elasticsearch 索引顶点名称属性,并使用权重获取边。

    像这样与 ruby​​ rexpro 连接:
    require "rexpro" #the "rexpro" gem
    rexpro_client = Rexpro::Client.new(host: 'the.ip.of.my.machine.running.rexster', port: 8184)
    results = rexpro_client.execute("g.getClass()", graph_name: "graph").results
    #=> returns the following: class com.thinkaurelius.titan.graphdb.database.StandardTitanGraph
    

    我遵循的步骤来创建数据库不存在的问题:
  • 在 WindowsAzure 上:使用 Ubuntu 12.04 LTS 创建一个新的小型(1 核,1.75GB 内存)VM与姓名 vmname (管他呢)。
  • 准备好后使用 SSH 登录到此 VM ( ssh azureuser@vmname.cloudhost.net -p 22 )
  • 运行:sudo apt-get update
  • 运行:sudo apt-get install openjdk-7-jdk openjdk-7-jre p7zip-full
  • 运行:mkdir /home/azureuser/Downloads
  • 运行:wget -O /home/azureuser/Downloads/titan-server-0.4.0.zip "http://s3.thinkaurelius.com/downloads/titan/titan-server-0.4.0.zip"
  • 运行:cd /home/azureuser/Downloads/
  • 运行:7z x titan-server-0.4.0.zip
  • 运行:cd /home/azureuser/Downloads/titan-server-0.4.0
  • 运行:sudo bin/titan.sh -c cassandra-es start
  • 运行:sudo bin/rexster-console.sh
  • 在 rexster 控制台中,运行:g = rexster.getGraph("graph") , 返回 titangraph[cassandra:null]
  • CTRL-C 退出 rexster consloe
  • 运行:sudo bin/titan.sh stop
  • 运行:sudo bin/titan.sh -c cassandra-es start
  • 运行:sudo bin/rexster-console.sh
  • 在 rexster 控制台中,运行:g = rexster.getGraph("graph") . 现在这将返回 null,而不是图形。

  • 关闭并重新启动时,这里似乎存在一些问题:

    关闭时
    [WARN] ShutdownManager - ShutdownListener JVM Shutdown Hook Remover threw an exception, continuing with shutdown
    

    在启动 #2
    Starting Cassandra...
    xss =  -Dtitan.logdir=/home/azureuser/Downloads/titan-server-0.4.0/log -ea -javaagent:/home/azureuser/Downloads/titan-server-0.4.0/lib/jamm-0.2.5.jar -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -Xms840M -Xmx840M -Xmn100M -XX:+HeapDumpOnOutOfMemoryError -Xss256k
    Starting Titan + Rexster...
     INFO 12:00:12,780 Logging initialized
     INFO 12:00:12,805 JVM vendor/version: OpenJDK 64-Bit Server VM/1.7.0_25
     INFO 12:00:12,806 Heap size: 870318080/870318080
     INFO 12:00:12,806 Classpath: /home/azureuser/Downloads/titan-server-0.4.0/conf:/home/azureuser/Downloads/titan-server-0.4.0/build/classes/main:/home/azureuser/Downloads/titan-server-0.4.0/build/classes/thrift:/home/azureuser/Downloads/titan-server-0.4.0/lib/activation-...
     INFO 12:00:13,397 JNA mlockall successful
     INFO 12:00:13,419 Loading settings from file:/home/azureuser/Downloads/titan-server-0.4.0/conf/cassandra.yaml
     INFO 12:00:14,093 DiskAccessMode 'auto' determined to be mmap, indexAccessMode is mmap
     INFO 12:00:14,093 disk_failure_policy is stop
     INFO 12:00:14,101 Global memtable threshold is enabled at 276MB
     INFO 12:00:14,878 Initializing key cache with capacity of 41 MBs.
     INFO 12:00:14,892 Scheduling key cache save to each 14400 seconds (going to save all keys).
     INFO 12:00:14,894 Initializing row cache with capacity of 0 MBs and provider org.apache.cassandra.cache.SerializingCacheProvider
     INFO 12:00:14,955 Scheduling row cache save to each 0 seconds (going to save all keys).
     INFO 12:00:15,273 Opening db/cassandra/data/system/schema_keyspaces/system-schema_keyspaces-ib-2 (167 bytes)
     INFO 12:00:15,347 Opening db/cassandra/data/system/schema_keyspaces/system-schema_keyspaces-ib-1 (264 bytes)
     INFO 12:00:15,376 Opening db/cassandra/data/system/schema_columnfamilies/system-schema_columnfamilies-ib-11 (717 bytes)
     INFO 12:00:15,387 Opening db/cassandra/data/system/schema_columnfamilies/system-schema_columnfamilies-ib-9 (6183 bytes)
     INFO 12:00:15,392 Opening db/cassandra/data/system/schema_columnfamilies/system-schema_columnfamilies-ib-10 (687 bytes)
     INFO 12:00:15,411 Opening db/cassandra/data/system/schema_columns/system-schema_columns-ib-2 (209 bytes)
     INFO 12:00:15,416 Opening db/cassandra/data/system/schema_columns/system-schema_columns-ib-1 (3771 bytes)
     INFO 12:00:15,450 Opening db/cassandra/data/system/local/system-local-ib-3 (109 bytes)
     INFO 12:00:15,455 Opening db/cassandra/data/system/local/system-local-ib-2 (120 bytes)
     INFO 12:00:15,521 Opening db/cassandra/data/system/local/system-local-ib-1 (356 bytes)
    Processes forked.  Setup may take some time.
    Run bin/rexster-console.sh to connect.
    azureuser@neugle:~/Downloads/titan-server-0.4.0$  INFO 12:00:16,705 completed pre-loading (8 keys) key cache.
     INFO 12:00:16,777 Replaying db/cassandra/commitlog/CommitLog-2-1383479792488.log, db/cassandra/commitlog/CommitLog-2-1383479792489.log
     INFO 12:00:16,802 Replaying db/cassandra/commitlog/CommitLog-2-1383479792488.log
     INFO 12:00:17,178 Finished reading db/cassandra/commitlog/CommitLog-2-1383479792488.log
     INFO 12:00:17,179 Replaying db/cassandra/commitlog/CommitLog-2-1383479792489.log
     INFO 12:00:17,179 Finished reading db/cassandra/commitlog/CommitLog-2-1383479792489.log
     INFO 12:00:17,191 Enqueuing flush of Memtable-local@1221155490(52/52 serialized/live bytes, 22 ops)
     INFO 12:00:17,194 Writing Memtable-local@1221155490(52/52 serialized/live bytes, 22 ops)
     INFO 12:00:17,204 Enqueuing flush of Memtable-users@1341189399(28/28 serialized/live bytes, 2 ops)
     INFO 12:00:17,211 Enqueuing flush of Memtable-system_properties@1057472358(26/26 serialized/live bytes, 1 ops)
     INFO 12:00:17,416 Completed flushing db/cassandra/data/system/local/system-local-ib-4-Data.db (84 bytes) for commitlog position ReplayPosition(segmentId=1383480016398, position=142)
     INFO 12:00:17,480 Writing Memtable-users@1341189399(28/28 serialized/live bytes, 2 ops)
     INFO 12:00:17,626 Completed flushing db/cassandra/data/system_auth/users/system_auth-users-ib-1-Data.db (64 bytes) for commitlog position ReplayPosition(segmentId=1383480016398, position=142)
     INFO 12:00:17,630 Writing Memtable-system_properties@1057472358(26/26 serialized/live bytes, 1 ops)
     INFO 12:00:17,776 Completed flushing db/cassandra/data/titan/system_properties/titan-system_properties-ib-1-Data.db (64 bytes) for commitlog position ReplayPosition(segmentId=1383480016398, position=142)
     INFO 12:00:17,780 Log replay complete, 12 replayed mutations
     INFO 12:00:17,787 Fixing timestamps of schema ColumnFamily schema_keyspaces...
     INFO 12:00:17,864 Enqueuing flush of Memtable-local@1592659210(65/65 serialized/live bytes, 2 ops)
     INFO 12:00:17,872 Writing Memtable-local@1592659210(65/65 serialized/live bytes, 2 ops)
    [INFO] Application - .:Welcome to Rexster:.
     INFO 12:00:18,027 Completed flushing db/cassandra/data/system/local/system-local-ib-5-Data.db (97 bytes) for commitlog position ReplayPosition(segmentId=1383480016398, position=297)
     INFO 12:00:18,036 Enqueuing flush of Memtable-schema_keyspaces@1453195003(527/527 serialized/live bytes, 12 ops)
     INFO 12:00:18,038 Writing Memtable-schema_keyspaces@1453195003(527/527 serialized/live bytes, 12 ops)
    [INFO] RexsterProperties - Using [/home/azureuser/Downloads/titan-server-0.4.0/conf/rexster-cassandra-es.xml] as configuration source.
     INFO 12:00:18,179 Completed flushing db/cassandra/data/system/schema_keyspaces/system-schema_keyspaces-ib-3-Data.db (257 bytes) for commitlog position ReplayPosition(segmentId=1383480016398, position=1227)
    [INFO] Application - Rexster is watching [/home/azureuser/Downloads/titan-server-0.4.0/conf/rexster-cassandra-es.xml] for change.
    [WARN] AstyanaxStoreManager - Couldn't set custom Thrift Frame Size property, use 'cassandrathrift' instead.
     INFO 12:00:18,904 Cassandra version: 1.2.2
     INFO 12:00:18,906 Thrift API version: 19.35.0
     INFO 12:00:18,906 CQL supported versions: 2.0.0,3.0.1 (default: 3.0.1)
    [INFO] ConnectionPoolMBeanManager - Registering mbean: com.netflix.MonitoredResources:type=ASTYANAX,name=ClusterTitanConnectionPool,ServiceType=connectionpool
    [INFO] CountingConnectionPoolMonitor - AddHost: 127.0.0.1
     INFO 12:00:19,087 Loading persisted ring state
     INFO 12:00:19,097 Starting up server gossip
     INFO 12:00:19,162 Enqueuing flush of Memtable-local@114523622(251/251 serialized/live bytes, 9 ops)
     INFO 12:00:19,169 Writing Memtable-local@114523622(251/251 serialized/live bytes, 9 ops)
     INFO 12:00:19,314 Completed flushing db/cassandra/data/system/local/system-local-ib-6-Data.db (238 bytes) for commitlog position ReplayPosition(segmentId=1383480016398, position=51470)
     INFO 12:00:19,369 Compacting [SSTableReader(path='db/cassandra/data/system/local/system-local-ib-3-Data.db'), SSTableReader(path='db/cassandra/data/system/local/system-local-ib-2-Data.db'), SSTableReader(path='db/cassandra/data/system/local/system-local-ib-4-Data.db'), SSTableReader(path='db/cassandra/data/system/local/system-local-ib-1-Data.db'), SSTableReader(path='db/cassandra/data/system/local/system-local-ib-6-Data.db'), SSTableReader(path='db/cassandra/data/system/local/system-local-ib-5-Data.db')]
     INFO 12:00:19,479 Starting Messaging Service on port 7000
     INFO 12:00:19,585 Using saved token [7398637255000140098]
     INFO 12:00:19,588 Enqueuing flush of Memtable-local@365797436(84/84 serialized/live bytes, 4 ops)
     INFO 12:00:19,588 Writing Memtable-local@365797436(84/84 serialized/live bytes, 4 ops)
     INFO 12:00:19,666 Compacted 6 sstables to [db/cassandra/data/system/local/system-local-ib-7,].  1,004 bytes to 496 (~49% of original) in 286ms = 0.001654MB/s.  6 total rows, 1 unique.  Row merge counts were {1:0, 2:0, 3:0, 4:0, 5:0, 6:1, }
     INFO 12:00:19,796 Completed flushing db/cassandra/data/system/local/system-local-ib-8-Data.db (120 bytes) for commitlog position ReplayPosition(segmentId=1383480016398, position=51745)
     INFO 12:00:19,810 Enqueuing flush of Memtable-local@1775610672(50/50 serialized/live bytes, 2 ops)
     INFO 12:00:19,812 Writing Memtable-local@1775610672(50/50 serialized/live bytes, 2 ops)
     INFO 12:00:19,967 Completed flushing db/cassandra/data/system/local/system-local-ib-9-Data.db (109 bytes) for commitlog position ReplayPosition(segmentId=1383480016398, position=51919)
     INFO 12:00:20,088 Node localhost/127.0.0.1 state jump to normal
     INFO 12:00:20,108 Startup completed! Now serving reads.
    ^C
    azureuser@neugle:~/Downloads/titan-server-0.4.0$ sudo bin/rexster-console.sh[WARN] GraphConfigurationContainer - Could not load graph graph. Please check the XML configuration.
    [WARN] GraphConfigurationContainer - GraphConfiguration could not be found or otherwise instantiated: [com.thinkaurelius.titan.tinkerpop.rexster.TitanGraphConfiguration]. Ensure that it is in Rexster's path.
    com.tinkerpop.rexster.config.GraphConfigurationException: GraphConfiguration could not be found or otherwise instantiated: [com.thinkaurelius.titan.tinkerpop.rexster.TitanGraphConfiguration]. Ensure that it is in Rexster's path.
        at com.tinkerpop.rexster.config.GraphConfigurationContainer.getGraphFromConfiguration(GraphConfigurationContainer.java:137)
        at com.tinkerpop.rexster.config.GraphConfigurationContainer.<init>(GraphConfigurationContainer.java:54)
        at com.tinkerpop.rexster.server.XmlRexsterApplication.reconfigure(XmlRexsterApplication.java:99)
        at com.tinkerpop.rexster.server.XmlRexsterApplication.<init>(XmlRexsterApplication.java:47)
        at com.tinkerpop.rexster.Application.<init>(Application.java:96)
        at com.tinkerpop.rexster.Application.main(Application.java:188)
    Caused by: java.lang.IllegalArgumentException: Could not instantiate implementation: com.thinkaurelius.titan.diskstorage.cassandra.astyanax.AstyanaxStoreManager
        at com.thinkaurelius.titan.diskstorage.Backend.instantiate(Backend.java:339)
        at com.thinkaurelius.titan.diskstorage.Backend.getImplementationClass(Backend.java:351)
        at com.thinkaurelius.titan.diskstorage.Backend.getStorageManager(Backend.java:294)
        at com.thinkaurelius.titan.diskstorage.Backend.<init>(Backend.java:112)
        at com.thinkaurelius.titan.graphdb.configuration.GraphDatabaseConfiguration.getBackend(GraphDatabaseConfiguration.java:682)
        at com.thinkaurelius.titan.graphdb.database.StandardTitanGraph.<init>(StandardTitanGraph.java:72)
        at com.thinkaurelius.titan.core.TitanFactory.open(TitanFactory.java:40)
        at com.thinkaurelius.titan.tinkerpop.rexster.TitanGraphConfiguration.configureGraphInstance(TitanGraphConfiguration.java:25)
        at com.tinkerpop.rexster.config.GraphConfigurationContainer.getGraphFromConfiguration(GraphConfigurationContainer.java:119)
        ... 5 more
    Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at com.thinkaurelius.titan.diskstorage.Backend.instantiate(Backend.java:328)
        ... 13 more
    Caused by: com.thinkaurelius.titan.diskstorage.TemporaryStorageException: Temporary failure in storage backend
        at com.thinkaurelius.titan.diskstorage.cassandra.astyanax.AstyanaxStoreManager.ensureKeyspaceExists(AstyanaxStoreManager.java:429)
        at com.thinkaurelius.titan.diskstorage.cassandra.astyanax.AstyanaxStoreManager.<init>(AstyanaxStoreManager.java:172)
        ... 18 more
    Caused by: com.netflix.astyanax.connectionpool.exceptions.BadRequestException: BadRequestException: [host=127.0.0.1(127.0.0.1):9160, latency=42(60), attempts=1]InvalidRequestException(why:Keyspace names must be case-insensitively unique ("titan" conflicts with "titan"))
        at com.netflix.astyanax.thrift.ThriftConverter.ToConnectionPoolException(ThriftConverter.java:159)
        at com.netflix.astyanax.thrift.AbstractOperationImpl.execute(AbstractOperationImpl.java:65)
        at com.netflix.astyanax.thrift.AbstractOperationImpl.execute(AbstractOperationImpl.java:28)
        at com.netflix.astyanax.thrift.ThriftSyncConnectionFactoryImpl$ThriftConnection.execute(ThriftSyncConnectionFactoryImpl.java:151)
        at com.netflix.astyanax.connectionpool.impl.AbstractExecuteWithFailoverImpl.tryOperation(AbstractExecuteWithFailoverImpl.java:69)
        at com.netflix.astyanax.connectionpool.impl.AbstractHostPartitionConnectionPool.executeWithFailover(AbstractHostPartitionConnectionPool.java:256)
        at com.netflix.astyanax.thrift.ThriftClusterImpl.executeSchemaChangeOperation(ThriftClusterImpl.java:146)
        at com.netflix.astyanax.thrift.ThriftClusterImpl.addKeyspace(ThriftClusterImpl.java:246)
        at com.thinkaurelius.titan.diskstorage.cassandra.astyanax.AstyanaxStoreManager.ensureKeyspaceExists(AstyanaxStoreManager.java:424)
        ... 19 more
    Caused by: InvalidRequestException(why:Keyspace names must be case-insensitively unique ("titan" conflicts with "titan"))
        at org.apache.cassandra.thrift.Cassandra$system_add_keyspace_result.read(Cassandra.java:33158)
        at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78)
        at org.apache.cassandra.thrift.Cassandra$Client.recv_system_add_keyspace(Cassandra.java:1408)
        at org.apache.cassandra.thrift.Cassandra$Client.system_add_keyspace(Cassandra.java:1395)
        at com.netflix.astyanax.thrift.ThriftClusterImpl$9.internalExecute(ThriftClusterImpl.java:250)
        at com.netflix.astyanax.thrift.ThriftClusterImpl$9.internalExecute(ThriftClusterImpl.java:247)
        at com.netflix.astyanax.thrift.AbstractOperationImpl.execute(AbstractOperationImpl.java:60)
        ... 26 more
    [WARN] GraphConfigurationContainer - Could not instantiate implementation: com.thinkaurelius.titan.diskstorage.cassandra.astyanax.AstyanaxStoreManager
    java.lang.IllegalArgumentException: Could not instantiate implementation: com.thinkaurelius.titan.diskstorage.cassandra.astyanax.AstyanaxStoreManager
        at com.thinkaurelius.titan.diskstorage.Backend.instantiate(Backend.java:339)
        at com.thinkaurelius.titan.diskstorage.Backend.getImplementationClass(Backend.java:351)
        at com.thinkaurelius.titan.diskstorage.Backend.getStorageManager(Backend.java:294)
        at com.thinkaurelius.titan.diskstorage.Backend.<init>(Backend.java:112)
        at com.thinkaurelius.titan.graphdb.configuration.GraphDatabaseConfiguration.getBackend(GraphDatabaseConfiguration.java:682)
        at com.thinkaurelius.titan.graphdb.database.StandardTitanGraph.<init>(StandardTitanGraph.java:72)
        at com.thinkaurelius.titan.core.TitanFactory.open(TitanFactory.java:40)
        at com.thinkaurelius.titan.tinkerpop.rexster.TitanGraphConfiguration.configureGraphInstance(TitanGraphConfiguration.java:25)
        at com.tinkerpop.rexster.config.GraphConfigurationContainer.getGraphFromConfiguration(GraphConfigurationContainer.java:119)
        at com.tinkerpop.rexster.config.GraphConfigurationContainer.<init>(GraphConfigurationContainer.java:54)
        at com.tinkerpop.rexster.server.XmlRexsterApplication.reconfigure(XmlRexsterApplication.java:99)
        at com.tinkerpop.rexster.server.XmlRexsterApplication.<init>(XmlRexsterApplication.java:47)
        at com.tinkerpop.rexster.Application.<init>(Application.java:96)
        at com.tinkerpop.rexster.Application.main(Application.java:188)
    Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at com.thinkaurelius.titan.diskstorage.Backend.instantiate(Backend.java:328)
        ... 13 more
    Caused by: com.thinkaurelius.titan.diskstorage.TemporaryStorageException: Temporary failure in storage backend
        at com.thinkaurelius.titan.diskstorage.cassandra.astyanax.AstyanaxStoreManager.ensureKeyspaceExists(AstyanaxStoreManager.java:429)
        at com.thinkaurelius.titan.diskstorage.cassandra.astyanax.AstyanaxStoreManager.<init>(AstyanaxStoreManager.java:172)
        ... 18 more
    Caused by: com.netflix.astyanax.connectionpool.exceptions.BadRequestException: BadRequestException: [host=127.0.0.1(127.0.0.1):9160, latency=42(60), attempts=1]InvalidRequestException(why:Keyspace names must be case-insensitively unique ("titan" conflicts with "titan"))
        at com.netflix.astyanax.thrift.ThriftConverter.ToConnectionPoolException(ThriftConverter.java:159)
        at com.netflix.astyanax.thrift.AbstractOperationImpl.execute(AbstractOperationImpl.java:65)
        at com.netflix.astyanax.thrift.AbstractOperationImpl.execute(AbstractOperationImpl.java:28)
        at com.netflix.astyanax.thrift.ThriftSyncConnectionFactoryImpl$ThriftConnection.execute(ThriftSyncConnectionFactoryImpl.java:151)
        at com.netflix.astyanax.connectionpool.impl.AbstractExecuteWithFailoverImpl.tryOperation(AbstractExecuteWithFailoverImpl.java:69)
        at com.netflix.astyanax.connectionpool.impl.AbstractHostPartitionConnectionPool.executeWithFailover(AbstractHostPartitionConnectionPool.java:256)
        at com.netflix.astyanax.thrift.ThriftClusterImpl.executeSchemaChangeOperation(ThriftClusterImpl.java:146)
        at com.netflix.astyanax.thrift.ThriftClusterImpl.addKeyspace(ThriftClusterImpl.java:246)
        at com.thinkaurelius.titan.diskstorage.cassandra.astyanax.AstyanaxStoreManager.ensureKeyspaceExists(AstyanaxStoreManager.java:424)
        ... 19 more
    Caused by: InvalidRequestException(why:Keyspace names must be case-insensitively unique ("titan" conflicts with "titan"))
        at org.apache.cassandra.thrift.Cassandra$system_add_keyspace_result.read(Cassandra.java:33158)
        at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78)
        at org.apache.cassandra.thrift.Cassandra$Client.recv_system_add_keyspace(Cassandra.java:1408)
        at org.apache.cassandra.thrift.Cassandra$Client.system_add_keyspace(Cassandra.java:1395)
        at com.netflix.astyanax.thrift.ThriftClusterImpl$9.internalExecute(ThriftClusterImpl.java:250)
        at com.netflix.astyanax.thrift.ThriftClusterImpl$9.internalExecute(ThriftClusterImpl.java:247)
        at com.netflix.astyanax.thrift.AbstractOperationImpl.execute(AbstractOperationImpl.java:60)
        ... 26 more
    [INFO] HttpReporterConfig - Configured HTTP Metric Reporter.
    [INFO] ConsoleReporterConfig - Configured Console Metric Reporter.
    [INFO] HttpRexsterServer - HTTP/REST thread pool configuration: kernal[4 / 4] worker[8 / 8] 
    [INFO] HttpRexsterServer - Using org.glassfish.grizzly.strategies.LeaderFollowerNIOStrategy IOStrategy for HTTP/REST.
    [INFO] HttpRexsterServer - Rexster Server running on: [http://localhost:8182]
    [INFO] RexProRexsterServer - Using org.glassfish.grizzly.strategies.LeaderFollowerNIOStrategy IOStrategy for RexPro.
    [INFO] RexProRexsterServer - RexPro thread pool configuration: kernal[4 / 4] worker[8 / 8] 
    [INFO] RexProRexsterServer - Rexster configured with no security.
    [INFO] RexProRexsterServer - RexPro Server bound to [0.0.0.0:8184]
    [INFO] ShutdownManager$ShutdownSocketListener - Bound shutdown socket to /127.0.0.1:8183. Starting listener thread for shutdown requests.
    ^C
    

    最佳答案

    首先,embeddedcassandra在 Titan 0.4.0 中不再是你想要的。您可以阅读更多相关信息 here .在 0.4.0 的 Titan Server 发行版中,cassandra 和 rexster 在单独的 JVM 中运行,并且通常应该从发行版中开箱即用。

    另请注意,我会说建议直接通过 Gremlin 控制台创建类型/索引。我喜欢在使用 TypeMaker 时“接近图表” .您可以阅读有关此类生产实现模式的更多信息 here .

    至于您的具体问题,您的问题帮助发现了文档中的一个漏洞(此后一直是 remedied )。为确保使用 Titan Server 启动 elasticsearch,请确保您执行以下操作:

    bin/titan.sh -c cassandra-es start
    

    此时您可以通过 Rexster 连接来构建和查询 elasticsearch 索引。以下是 Rexster 控制台的示例:
    rexster[groovy]> g = rexster.getGraph("graph")
    ==>titangraph[cassandra:null]
    rexster[groovy]> g.makeKey("name").dataType(String.class).indexed("search",Vertex.class).make()
    ==>v[74]
    rexster[groovy]> g.commit()
    ==>null
    rexster[groovy]> g.addVertex([name:'marko'])
    ==>v[4]
    rexster[groovy]> g.addVertex([name:'stephen'])
    ==>v[8]
    rexster[groovy]> g.commit()
    ==>null
    rexster[groovy]> g.V.has('name',PREFIX,'mar')
    ==>v[4]
    

    注意在这种模式下启动 Titan Server,elasticsearch 运行在 embedded mode到 Rexster 启动的 Titan 实例,这意味着:

    Elasticsearch will not be accessible from outside of this particular Titan instance, i.e., remote connections will not be possible



    因此,如果您尝试通过 Titan Gremlin 控制台进行连接,我不相信它会起作用。连接必须通过 Rexster 运行。

    关于cassandra - 如何实际设置基本的 Titan + Rexster + Cassandra?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19712610/

    相关文章:

    php - 如何在 Windows 上为 Cassandra 安装 Datastax-PHP 驱动程序?

    cassandra - 在cassandra中的 map 中插入多种类型

    java - cassandra 中的嵌套查询

    indexing - 如何使用tinkerpop API 3 在 titan 1.0 中对复合索引进行不区分大小写的搜索

    java - 泰坦,RexterClient :Message received response timeoutConnection (8000 s) at com.tinkerpop.rexster.client.RexsterClient.execute(RexsterClient.java:185)

    cassandra - 如何使用 datastax java 驱动程序将 timeuuid 插入 cassandra 或 TimeUUID 版本无效

    使用自然语言处理 (NLP) 从文本(即非正式图 'schema' )进行图数据库顶点/边推断 - 这是否存在?

    java - Titan图遍历查询中的P.test(V value)是如何工作的?

    linux - 在 Linux 中将 Rexster 作为守护进程运行的脚本