Cassandra が組み込まれた Titan (サーバー 0.4.4) をセットアップしようとしています。私の環境は 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 でサービスを開始しようとすると、次のエラーで開始に失敗しました。
org.apache.cassandra.exceptions.ConfigurationException: localhost/127.0.0.1:7000 は別のプロセスで使用されています。cassandra.yaml の listen_address:storage_port を、org.apache.cassandra.net.MessagingService.listen(MessagingService) の org.apache.cassandra.net.MessagingService.getServerSocket(MessagingService.java:439) で他のサービスと競合しない値に変更します。 .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) at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:278) at org.apache.cassandra.service.CassandraDaemon. 119) com.tinkerpop.rexster.config.GraphConfigurationContainer.(GraphConfigurationContainer.java:54) com.tinkerpop.rexster.server.XmlRexsterApplication.reconfigure(XmlRexsterApplication.java:99) com.tinkerpop.rexster.server.XmlRexsterApplication. (XmlRexsterApplication.java:47) com.tinkerpop.rexster.Application.(Application.java:96) com.tinkerpop.rexster.Application.main(Application.java:188) で localhost/127.0.0.1:7000 が使用されています別のプロセスによって。cassandra.yaml の listen_address:storage_port を他のサービスと競合しない値に変更します tinkerpop.rexster.server.XmlRexsterApplication.(XmlRexsterApplication.java:47) at com.tinkerpop.rexster.Application.(Application.java:96) at com.tinkerpop.rexster.Application.main(Application.java:188) localhost/ 127.0.0.1:7000 は別のプロセスで使用されています。cassandra.yaml の listen_address:storage_port を他のサービスと競合しない値に変更します tinkerpop.rexster.server.XmlRexsterApplication.(XmlRexsterApplication.java:47) at com.tinkerpop.rexster.Application.(Application.java:96) at com.tinkerpop.rexster.Application.main(Application.java:188) localhost/ 127.0.0.1:7000 は別のプロセスで使用されています。cassandra.yaml の listen_address:storage_port を他のサービスと競合しない値に変更します
「E:\titan-server-0.4.4\conf\cassandra.yaml」でポートを変更しようとしましたが、調査の結果、ポートが実際には Cassandra 自体によって使用されていることがわかりました。つまり、この構成では. /bin/titan.sh -v start が Cassandra の複数のインスタンスを起動しようとしています?!
異なるポート設定で cassandra.yaml を cassandra2.yaml にコピーし、グラフ構成 xml で cassandra2.yaml へのパスを指定しました。この後、./bin/titan.sh -v start を実行して、Titan と Cassandra が埋め込まれた Rexster を起動できました。
ただし、この設定には何か問題があると強く信じています。さらに、システムの動作がうまくいかず、Rexster の (Web ベースの) Gremlin シェルでグラフを保存できないことがありますg.commit()
。コマンドは成功しますが、何も保存されません。
では、Cassandra が組み込まれた状態で Titan を実行する正しい方法はありますか? 構成はどうあるべきですか?