只想了解使用Cassandra 2在多数据中心设置中"nodetool修复"的性能.
我们计划在每个数据中心拥有2-4个副本的密钥空间.我们可能有几十个数据中心.根据情况,使用LOCAL_QUORUM/EACH_QUORUM一致性完成写入,并且读取通常使用LOCAL_QUORUM一致性完成.问题:
nodetool修复复杂性是否会随着所有数据中心的副本数量线性增长?
或者,nodetool修复复杂度是否与当前数据中心的副本数量和数据中心数量的组合线性增长?模糊地说,该模型可能与当前数据中心中的每个单独节点同步数据,但是在与其他数据中心中的副本相似的EACH_QUORUM操作中.
要扩展集群,最好是在现有数据中心中添加更多节点,还是添加一个新数据中心,假设整个副本数量恒定?我在nodetool修复性能的上下文中提出这个问题.
我想了解tablehistograms特定表的输出,以及如何计算整个群集的群集读/写,群集延迟,还是有其他方法来计算群集级别的读/写延迟?
这是tablehistograms命令的一个输出:
bin/nodetool tablehistograms ks myTable;
Percentile SSTables Write Latency Read Latency Partition Size Cell Count
(micros) (micros) (bytes)
50% 0.00 39.50 36.00 1597 42
75% 0.00 49.00 55.00 1597 42
95% 0.00 95.00 82.00 8239 258
98% 0.00 126.84 110.42 17084 446
99% 0.00 155.13 123.71 24601 770
Min 0.00 3.00 3.00 1110 36
Max 0.00 50772.00 314.00 126934 3973
Run Code Online (Sandbox Code Playgroud) 我有一个Cassandra集群(2个DC),每个节点有6个节点,RF节点(每个DC中)有4个节点已满,所以我需要很快清理空间.
我试图进行全面修复,但结果是一个坏主意,因为空间开始增加甚至更多,修复最终被绞死.作为最后的解决方案,我正在考虑开始修复,然后清理从最小到最大的特定列.
即
nodetool repair -full foo_keyspace bar_columnfamily
nodetool cleanup foo_keyspace bar_columnfamily
Run Code Online (Sandbox Code Playgroud)
您认为此程序对数据是否安全?
谢谢
我正在尝试在 C* 中释放一些磁盘空间。
我删除了许多行,这些行创建了许多墓碑。
我正在运行 nodetoolgarbagecollect 并且想知道这个工具在幕后做什么。我读过它会删除墓碑隐藏的实际数据,但不会删除墓碑(将在 gc_grace_seconds 后清除)。那是准确的吗?垃圾收集工具与 gc_grace_seconds 参数没有任何关联?垃圾收集实际上是如何释放磁盘空间的?
关于此工具的工作原理和作用的文档并不多。
任何帮助都感激不尽
我最近开始向 cassandra 添加一些数据以进行性能测试,并查看 nodetool cfstats 并且即使插入大量数据后 sstable 计数仍然为 0。甚至 live 和 total 使用的空间仍然是 0。我错过了什么吗?
Keyspace: perftest
Read Count: 0
Read Latency: NaN ms.
Write Count: 126056
Write Latency: 0.028907025449006793 ms.
Pending Tasks: 0
Column Family: items
SSTable count: 0
Space used (live): 0
Space used (total): 0
SSTable Compression Ratio: 0.0
Number of Keys (estimate): 0
Memtable Columns Count: 252112
Memtable Data Size: 214612059
Memtable Switch Count: 0
Read Count: 0
Read Latency: NaN ms.
Write Count: 126056
Write Latency: …Run Code Online (Sandbox Code Playgroud) 我在键空间测试中有一张表 -
CREATE TABLE mytable (
firstname text,
lastname text,
address text,
phone text,
PRIMARY KEY (firstname,lastname,address)
)
我已经插入了一条记录
insert into test.mytable(firstname,lastname,address,phone) values ('H','P','Kolkata','9836852120');
Run Code Online (Sandbox Code Playgroud)
并且还执行nodetool compact test mytable了强制记录去sstable.
现在我想执行nodetool getsstables此记录.如何在此命令中传递复合键nodetool getsstables test mytable <key>?
我试图从cassandra(版本2.1.6)种子节点之一中删除死节点(我只从一个种子节点运行).
/ nodetool removenode NodeID
但它挂了太久了, /nodetool removenode status
RemovalStatus:删除令牌(-9171133960945511267).等待来自[/ xxxx,/ xxxx,/ xxxx,/ xxxx]的复制确认.
使用CTRL-C我停止了命令
但是当我试着跑的时候
./nodetool removenode强制NodeID
它说
error: This node is already processing a removal. Wait for it to complete, or use 'removenode force' if this has failed.
-- StackTrace --
java.lang.UnsupportedOperationException: This node is already processing a removal. Wait for it to complete, or use 'removenode force' if this has failed.
Run Code Online (Sandbox Code Playgroud)
通常的行动方式是什么,这样我的群集无论如何都不会受到影响.
我找不到关于中severity指示内容的良好文档/说明nodetool gossipinfo。正在寻找详细的说明,但找不到合适的说明。