我们能否在现有的集群更高的复制因子
在卡桑德拉,以更高的复制因子相同的集群中添加新的数据中心将引发错误添加新的数据中心说,一些范围内复制因子1是不以任何来源的数据中心中。我们能否在现有的集群更高的复制因子
我有数据中心与(X- RF = 2),和(Y -RF = 1)。我想添加Datacenter(Z - RF = 3)。
我已经添加在数据中心Z上的节点。 但在
nodetool重建 - X
它有一个错误
java.lang.IllegalStateException失败:无法找到流范围(-3685074324747697686,来源充足 - 3680615207285604279]与复制因子1的密钥空间
所有Colu的基本信息mn家族:
AND bloom_filter_fp_chance = 0.01
AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
AND comment = ''
AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy'}
AND compression = {'sstable_compression': 'org.apache.cassandra.io.compress.LZ4Compressor'}
AND dclocal_read_repair_chance = 0.1
AND default_time_to_live = 0
AND gc_grace_seconds = 864000
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.0
AND speculative_retry = '99.0PERCENTILE';
你需要做的是ALTER KEYSPACE然后nodetool重建。复制您从DESCRIBE KEYSPACE keyspace_name中获得的文本,但是一开始没有CREATE。在复制中添加新的数据中心。
ALTER KEYSPACE keyspace_name WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 1, 'datacenter2' : 3 };
然后做:
nodetool rebuild -- datacenter1
在文档中提到了您所说的内容,并且遵循了我在生产中部署了数据中心2-3次的文档,这也起到了作用。但是现在当我尝试创建另一个数据中心时,它给了我错误(ava.lang.IllegalStateException:),正如我在我的文章中提到的那样。 我的其他数据中心有cassandra 2.2.9版本,现在最新的cassandra debian软件包提供2.2.11版本。 – sachin
从您的文本看来,运行“nodetool rebuild -X”时会出现错误。我的意思是你必须在重建之前改变密钥空间。 –
我已经改变了我的密钥空间,但是像(system_distributed)这样的默认密钥空间会引发错误。 – sachin
当前配置,如在你的密钥空间顾名思义,是一个单个DC。您需要修改KEYSPACE - 将其他DC添加到其中。这将开始复制过程:将被读/写的密钥将被复制到新的DC。为了充分复制所有数据,你需要(除了)使用nodetool rebuild -- DC2
命令
根据您的意见 - “我必须改变我的keyspaces但对于像(system_distributed)它会引发错误的默认密钥空间”
除了用户特定keyspaces,确保默认的系统keyspaces像 “system_distributed” 是的 “NetworkTopologyStrategy”(上SimpleStratergy没有keyspaces多-DC,除了本地策略) 参考:点2 https://docs.datastax.com/en/cassandra/3.0/cassandra/operations/opsAddDCToCluster.html
您对3.0版及更高版本的建议是正确的。但我使用的是2.2.X版本。 – sachin
2.2也适用:https://docs.datastax.com/en/cassandra/2.1/cassandra/operations/ops_add_dc_to_cluster_t.html –
灿你发布密钥空间?尝试'描述keyspace'incqlsh – FuzzyAmi
Keyspace拥有100多个列家族。你到底想看什么。 下面我分享了一些常见的详细信息,请看看: – sachin
其实我想要的密钥空间语句本身。创建密钥空间等 – FuzzyAmi