如何使用多数据中心部署配置 Titan?
how to configure Titan with multi Data Center deployment?
我正在尝试将 titan 版本 1.0.0 与多数据中心部署一起使用,
我使用 Cassandra 2.1.9 作为我的后端。
我的部署拓扑是:
C*设置(4个节点,分为2个DC,每个包含2个RACK)
The current setting is: [?????@????? apps]$
/apps/cassandra/bin/nodetool status
Datacenter: DC2
=============== Status=Up/Down |/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns Host ID Rack UN ???.???.125.92 58.51 KB 256 ?
d483a0b3-45f7-4a8f-a269-fca19eab08bd RAC2 UN ???.???.125.91 76.41
KB 256 ? b31751cd-03a1-489d-8482-c4d0f66b780f RAC1
Datacenter: DC1
=============== Status=Up/Down |/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns Host ID Rack UN ???.???.125.89 101.89 KB 256 ?
628e72c6-d068-4217-8205-91fe4bf7abf3 RAC1 UN ???.???.125.90 63.34
KB 256 ? 96b9d87b-e5d4-4bdb-9693-5f8f9889a83c RAC2
我正在使用 titan 客户端,它是我的 java 应用程序的一部分。
我使用的泰坦配置:
storage.backend=cassandra
storage.hostname=???.???.125.89,???.??.125.90
storage.port=9160
storage.username=cassandra
storage.password=cassandra
storage.cassandra.read-consistency-level=LOCAL_QUORUM
storage.cassandra.write-consistency-level=LOCAL_QUORUM
storage.cassandra.replication-strategy-class=org.apache.cassandra.locator.NetworkTopologyStrategy
storage.cassandra.replication-strategy-options=DC1,2,DC2,2
cache.db-cache=false
cache.db-cache-clean-wait=20
cache.db-cache-time=180000
cache.db-cache-size=0.5
当我启动我的应用程序时,我尝试创建索引时失败了,
现在应用程序流程是正确的,因为当我使用单个 Cassandra 节点时,应用程序工作正常。
the error i get in the aplication when i run with multi dc is:
2016-03-10T16:46:15.473Z|||main||ASDC-BE||ERROR|||localhost||c.t.t.g.database.StandardTitanGraph|||ActivityType=,
Desc=
com.thinkaurelius.titan.diskstorage.locking.TemporaryLockingException:
Temporary locking failure at
com.thinkaurelius.titan.diskstorage.locking.AbstractLocker.writeLock(AbstractLocker.java:295)
~[titan-core-1.0.0.jar:na] at
com.thinkaurelius.titan.diskstorage.locking.consistentkey.ExpectedValueCheckingStore.acquireLock(ExpectedValueCheckingStore.java:89)
~[titan-core-1.0.0.jar:na] at
com.thinkaurelius.titan.diskstorage.keycolumnvalue.KCVSProxy.acquireLock(KCVSProxy.java:40)
~[titan-core-1.0.0.jar:na] at
com.thinkaurelius.titan.diskstorage.BackendTransaction.acquireIndexLock(BackendTransaction.java:240)
~[titan-core-1.0.0.jar:na] at
com.thinkaurelius.titan.graphdb.database.StandardTitanGraph.prepareCommit(StandardTitanGraph.java:554)
~[titan-core-1.0.0.jar:na] at
com.thinkaurelius.titan.graphdb.database.StandardTitanGraph.commit(StandardTitanGraph.java:683)
~[titan-core-1.0.0.jar:na] at
com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx.commit(StandardTitanTx.java:1352)
[titan-core-1.0.0.jar:na] at
com.thinkaurelius.titan.graphdb.database.management.ManagementSystem.commit(ManagementSystem.java:221)
[titan-core-1.0.0.jar:na] at
com.att.tlv.sdc.be.dao.titan.TitanGraphClient.createVertexIndixes(TitanGraphClient.java:322)
[catalog-dao-1604.1.0-SNAPSHOT.jar:na] at
com.att.tlv.sdc.be.dao.titan.TitanGraphClient.createIndexesAndDefaults(TitanGraphClient.java:276)
[catalog-dao-1604.1.0-SNAPSHOT.jar:na] at
com.att.tlv.sdc.be.dao.titan.TitanGraphClient.createGraph(TitanGraphClient.java:244)
[catalog-dao-1604.1.0-SNAPSHOT.jar:na] at
com.att.tlv.sdc.be.dao.titan.TitanGraphClient.createGraph(TitanGraphClient.java:225)
[catalog-dao-1604.1.0-SNAPSHOT.jar:na] at
com.att.tlv.sdc.be.dao.titan.TitanGraphClient.createGraph(TitanGraphClient.java:180)
[catalog-dao-1604.1.0-SNAPSHOT.jar:na] ..... at
java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_66] at
org.eclipse.jetty.start.Main.invokeMain(Main.java:214)
[start.jar:9.3.6.v20151106] at
org.eclipse.jetty.start.Main.start(Main.java:457)
[start.jar:9.3.6.v20151106] at
org.eclipse.jetty.start.Main.main(Main.java:75)
[start.jar:9.3.6.v20151106] Caused by:
com.thinkaurelius.titan.diskstorage.TemporaryBackendException: Lock
write retry count exceeded at
com.thinkaurelius.titan.diskstorage.locking.consistentkey.ConsistentKeyLocker.writeSingleLock(ConsistentKeyLocker.java:325)
~[titan-core-1.0.0.jar:na] at
com.thinkaurelius.titan.diskstorage.locking.consistentkey.ConsistentKeyLocker.writeSingleLock(ConsistentKeyLocker.java:109)
~[titan-core-1.0.0.jar:na] at
com.thinkaurelius.titan.diskstorage.locking.AbstractLocker.writeLock(AbstractLocker.java:290)
~[titan-core-1.0.0.jar:na] ... 108 common frames omitted
有人知道我做错了什么吗?
遗憾的是我在这里找不到帮助,
所以我在泰坦论坛上继续说:
https://groups.google.com/forum/#!topic/aureliusgraphs/fJYH1de5wBw
我正在尝试将 titan 版本 1.0.0 与多数据中心部署一起使用,
我使用 Cassandra 2.1.9 作为我的后端。
我的部署拓扑是: C*设置(4个节点,分为2个DC,每个包含2个RACK)
The current setting is: [?????@????? apps]$ /apps/cassandra/bin/nodetool status
Datacenter: DC2 =============== Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns Host ID Rack UN ???.???.125.92 58.51 KB 256 ?
d483a0b3-45f7-4a8f-a269-fca19eab08bd RAC2 UN ???.???.125.91 76.41 KB 256 ? b31751cd-03a1-489d-8482-c4d0f66b780f RAC1Datacenter: DC1 =============== Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns Host ID Rack UN ???.???.125.89 101.89 KB 256 ?
628e72c6-d068-4217-8205-91fe4bf7abf3 RAC1 UN ???.???.125.90 63.34 KB 256 ? 96b9d87b-e5d4-4bdb-9693-5f8f9889a83c RAC2
我正在使用 titan 客户端,它是我的 java 应用程序的一部分。
我使用的泰坦配置:
storage.backend=cassandra
storage.hostname=???.???.125.89,???.??.125.90
storage.port=9160
storage.username=cassandra
storage.password=cassandra
storage.cassandra.read-consistency-level=LOCAL_QUORUM
storage.cassandra.write-consistency-level=LOCAL_QUORUM
storage.cassandra.replication-strategy-class=org.apache.cassandra.locator.NetworkTopologyStrategy
storage.cassandra.replication-strategy-options=DC1,2,DC2,2
cache.db-cache=false
cache.db-cache-clean-wait=20
cache.db-cache-time=180000
cache.db-cache-size=0.5
当我启动我的应用程序时,我尝试创建索引时失败了,
现在应用程序流程是正确的,因为当我使用单个 Cassandra 节点时,应用程序工作正常。
the error i get in the aplication when i run with multi dc is: 2016-03-10T16:46:15.473Z|||main||ASDC-BE||ERROR|||localhost||c.t.t.g.database.StandardTitanGraph|||ActivityType=, Desc= com.thinkaurelius.titan.diskstorage.locking.TemporaryLockingException: Temporary locking failure at com.thinkaurelius.titan.diskstorage.locking.AbstractLocker.writeLock(AbstractLocker.java:295) ~[titan-core-1.0.0.jar:na] at com.thinkaurelius.titan.diskstorage.locking.consistentkey.ExpectedValueCheckingStore.acquireLock(ExpectedValueCheckingStore.java:89) ~[titan-core-1.0.0.jar:na] at com.thinkaurelius.titan.diskstorage.keycolumnvalue.KCVSProxy.acquireLock(KCVSProxy.java:40) ~[titan-core-1.0.0.jar:na] at com.thinkaurelius.titan.diskstorage.BackendTransaction.acquireIndexLock(BackendTransaction.java:240) ~[titan-core-1.0.0.jar:na] at com.thinkaurelius.titan.graphdb.database.StandardTitanGraph.prepareCommit(StandardTitanGraph.java:554) ~[titan-core-1.0.0.jar:na] at com.thinkaurelius.titan.graphdb.database.StandardTitanGraph.commit(StandardTitanGraph.java:683) ~[titan-core-1.0.0.jar:na] at com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx.commit(StandardTitanTx.java:1352) [titan-core-1.0.0.jar:na] at com.thinkaurelius.titan.graphdb.database.management.ManagementSystem.commit(ManagementSystem.java:221) [titan-core-1.0.0.jar:na] at com.att.tlv.sdc.be.dao.titan.TitanGraphClient.createVertexIndixes(TitanGraphClient.java:322) [catalog-dao-1604.1.0-SNAPSHOT.jar:na] at com.att.tlv.sdc.be.dao.titan.TitanGraphClient.createIndexesAndDefaults(TitanGraphClient.java:276) [catalog-dao-1604.1.0-SNAPSHOT.jar:na] at com.att.tlv.sdc.be.dao.titan.TitanGraphClient.createGraph(TitanGraphClient.java:244) [catalog-dao-1604.1.0-SNAPSHOT.jar:na] at com.att.tlv.sdc.be.dao.titan.TitanGraphClient.createGraph(TitanGraphClient.java:225) [catalog-dao-1604.1.0-SNAPSHOT.jar:na] at com.att.tlv.sdc.be.dao.titan.TitanGraphClient.createGraph(TitanGraphClient.java:180) [catalog-dao-1604.1.0-SNAPSHOT.jar:na] ..... at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_66] at org.eclipse.jetty.start.Main.invokeMain(Main.java:214) [start.jar:9.3.6.v20151106] at org.eclipse.jetty.start.Main.start(Main.java:457) [start.jar:9.3.6.v20151106] at org.eclipse.jetty.start.Main.main(Main.java:75) [start.jar:9.3.6.v20151106] Caused by: com.thinkaurelius.titan.diskstorage.TemporaryBackendException: Lock write retry count exceeded at com.thinkaurelius.titan.diskstorage.locking.consistentkey.ConsistentKeyLocker.writeSingleLock(ConsistentKeyLocker.java:325) ~[titan-core-1.0.0.jar:na] at com.thinkaurelius.titan.diskstorage.locking.consistentkey.ConsistentKeyLocker.writeSingleLock(ConsistentKeyLocker.java:109) ~[titan-core-1.0.0.jar:na] at com.thinkaurelius.titan.diskstorage.locking.AbstractLocker.writeLock(AbstractLocker.java:290) ~[titan-core-1.0.0.jar:na] ... 108 common frames omitted
有人知道我做错了什么吗?
遗憾的是我在这里找不到帮助, 所以我在泰坦论坛上继续说: https://groups.google.com/forum/#!topic/aureliusgraphs/fJYH1de5wBw