【发布时间】:2014-12-30 17:23:04
【问题描述】:
我的 Cassandra 设置中的键空间复制似乎没有正确进行,我需要一些想法来解决这个问题。我已经配置了多数据中心集群,但首先我已将密钥空间设置为使用带有 RF 3 的 SimpleStrategy。
存在列族:
cqlsh:kairosdb> select columnfamily_name from system.schema_columnfamilies where keyspace_name = 'kairosdb';
columnfamily_name
-------------------
data_points
row_key_index
string_index
(3 rows)
但我无法查询它们:
cqlsh:kairosdb> select count(*) from data_points limit 100000;
Traceback (most recent call last):
File "/usr/bin/cqlsh", line 957, in perform_simple_statement
rows = self.session.execute(statement, trace=self.tracing_enabled)
File "/usr/share/cassandra/lib/cassandra-driver-internal-only-2.1.1.post.zip/cassandra-driver-2.1.1.post/cassandra/cluster.py", line 1282, in execute
result = future.result(timeout)
File "/usr/share/cassandra/lib/cassandra-driver-internal-only-2.1.1.post.zip/cassandra-driver-2.1.1.post/cassandra/cluster.py", line 2776, in result
raise self._final_exception
Unavailable: code=1000 [Unavailable exception] message="Cannot achieve consistency level ONE" info={'required_replicas': 1, 'alive_replicas': 0, 'consistency': 1}
这就是我设置多数据中心设置的方式:
- 使用种子列表中每个 DC 的 2 个节点
- 为 Snitch 使用 org.apache.cassandra.locator.GossipingPropertyFileSnitch
- 在 cassandra-rackdc.properties 中为节点指定不同的 DC 名称
这是创建的键空间:
cqlsh:kairosdb> describe keyspace kairosdb;
CREATE KEYSPACE kairosdb WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '3'} AND durable_writes = true;
有什么想法可以解决这个问题吗?
【问题讨论】:
-
你可以试试本地一级吗?您是否在密钥空间中有数据并将其更改为 RF 3?
-
什么是本地一级?
-
在多 DC 中,您可以指定本地与每个以指定是否要等待来自远程数据中心的响应。 datastax.com/documentation/cassandra/2.0/cassandra/dml/…
-
您能否分享有关您设置多直流和配置 RF 3 的过程的详细信息
-
我编辑了原始帖子,描述了我如何设置多直流集群以及如何创建键空间。用于复制的 SimpleStrategy 是否与多 DC 设置兼容?由于这不起作用,我删除了两个环,移回 SimpleSnitch,这一次键空间被正确创建。所以我想知道键空间创建是否不正确。