Cassandra:添加新节点后数据丢失

朱利安·福耶(JulienFouilhé)

我们有两个节点的cassandra集群,我们想扩展到四个。我们遵循此处描述的过程:http : //www.datastax.com/documentation/cassandra/1.2/cassandra/operations/ops_add_node_to_cluster_t.html

但是,在添加了两个以上的节点后(按照文档中的建议,同时添加了2分钟的间隔),我们遇到了一些数据丢失的情况。在某些列族中,缺少元素。

这是nodetool netstats

[centos@ip-10-11-11-187 ~]$ nodetool status
Datacenter: us-west-2
=====================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address       Load       Tokens  Owns    Host ID                               Rack
UN  10.11.11.187  5.63 MB    256     ?       0e596912-d649-4eed-82a4-df800c422634  2c
UN  10.11.1.104   748.79 MB  256     ?       d8b96739-0858-4926-9eb2-27c96ca0a1c4  2c
UN  10.11.11.24   7.11 MB    256     ?       e3e76dcf-2c39-42e5-a34e-9e986d4a9f7c  2c
UN  10.11.1.231   878.91 MB  256     ?       cc1b5cfd-c9d0-4ca9-bbb1-bce4b2deffc1  2c

Note: Non-system keyspaces don't have the same replication settings, effective ownership information is meaningless

我不太了解“注释”是否正确。

添加节点时,我们将两个第一台服务器(群集中已经可用)放置在第一个添加节点的配置种子中。对于第二个添加的节点,我们也将新添加的节点也放入种子中。

我们正在使用EC2Snitch,并且listen_address已在每台服务器上设置为上述地址。

我们还没有进行清理,但是我们尝试进行修复,并且写到在我们的键帽中什么也不能修复。

这是创建集群的方式:

CREATE KEYSPACE keyspace_name WITH replication = {'class': 'NetworkTopologyStrategy', 'us-west-2': '1'}  AND durable_writes = true;

以及我们所有表的选项:

CREATE TABLE keyspace_name."CFName" (
    // ...
) WITH bloom_filter_fp_chance = 0.01
    AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
    AND comment = ''
    AND compaction = {'min_threshold': '4', 'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32'}
    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';

如果我停用新节点,数据将重新出现。

编辑:阅读文档时实际上是一个错误...一位同事确实将auto_bootstrap设置为false而不是将其设置为true ...

罗曼·图马金(Roman Tumaykin)

nodetool rebuild使用auto_bootstrap添加新节点后,在新节点上执行:false

http://www.datastax.com/documentation/cassandra/2.0/cassandra/tools/toolsRebuild.html

高温超导

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

添加新节点后丢失了cassandra身份验证用户

添加新的Cassandra节点而无需停机

Cassandra丢失节点

添加新节点时,如何在Cassandra中重新混合数据?

如何从Cassandra的种子列表中删除节点而不丢失数据?

集群节点故障模拟后,Couchbase丢失数据

添加新节点后标记节点名称

新节点加入时的cassandra数据重新分配

添加新节点后,链表头始终为空

添加新的Cassandra节点时,现有角色无法登录到该节点

修复后数据丢失

在添加新节点后删除节点后,kendoTreeView 不会重新渲染

cassandra:还原部分丢失的数据

在不丢失数据的情况下将列添加到Cassandra数据库

Cassandra添加磁盘/增加存储量而不添加新节点

cassandra 2.2.8:如何以最小的影响将节点添加到 cassandra 数据中心/集群

添加新数据中心时,系统模式的Cassandra复制

单击后添加其他字段以形成表单-要在其之前插入新节点的节点不是该节点的子节点

Cassandra:删除数据目录之一后还原数据节点

使用不同的告密者将新的 cassandra 节点添加到现有集群

当我添加新节点时,Cassandra群集将花费大量时间

Cassandra:如果只对一个节点执行TRUNCATE表并还原备份,我会丢失数据吗?

Logstash:迁移后数据丢失

请求被抓取后数据丢失

如何将数据完全复制到新的Cassandra群集节点?

添加新节点时,是否需要在不同数据中心的节点上进行nodetool清理

Cassandra键空间消失,导致数据丢失

添加新实体后如何播种初始数据?

添加新列后更新旧实体的数据