Cassandra:数据偏斜

时间:2018-01-08 13:10:16

标签: cassandra

我们有一个10节点的Cassandra集群。数据大小在几个节点上看起来非常偏斜。使用vnodes(32)设置群集。

我正在寻找有关如何找出数据偏差以及如何平衡群集的建议。

Nodetool状态输出

Datacenter: us-west-2_central
=============================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address        Load       Tokens  Owns    Host ID                               Rack
UN  172.20.111.20  832.35 GB  32      ?       a3e94d59-5897-46a5-afe7-b695b0179461  2b
UN  172.20.111.16  895.15 GB  32      ?       7e2f7726-3b98-4535-b44d-c522f7a0d4e6  2b
UN  172.20.110.17  1.39 TB    32      ?       925dc818-04d2-4dfa-a54b-6e0b4098fd76  2a
UN  172.20.111.18  861.17 GB  32      ?       acc23bfe-33ee-41b6-b78e-1d813697c9b1  2b
UN  172.20.110.19  835.67 GB  32      ?       5e2fd25a-5bbd-42c2-a627-a134c0e20c8b  2a
UN  172.20.110.13  932.74 GB  32      ?       d7534422-de99-49cb-a026-f3fa5ff8c16b  2a
UN  172.20.111.14  782.67 GB  32      ?       80802902-fd4a-4271-8dd9-d7421d823bd2  2b
UN  172.20.110.15  1.03 TB    32      ?       82535a06-30ee-4e7a-9e1e-ca6d33648ce8  2a
UN  172.20.110.10  697.58 GB  32      ?       bcf265b1-6e82-4d12-9e7c-2b769ccf1d3a  2a
UN  172.20.111.11  786.71 GB  32      ?       d34bcb42-f061-49d9-b4b1-41ae140d868b  2b

您可以看到存在1.39 TB的节点和1.03 TB的其他节点。

1 个答案:

答案 0 :(得分:1)

此问题可能有不同的原因。例如,您的数据模型可能是偏斜的原因。如果您的表具有少量非常宽的分区(每个分区有数百万行),则可能是导致此问题的原因。这些类型的分区可能最终会出现特殊的副本,这可能会导致偏斜。

此外,这种偏斜可能完全是偶然的。我的意思是,节点之间的令牌分配可能会偶然结束这种偏差。如果是这种情况,并且如果问题随着时间的推移而变大,则可能需要用新的节点替换高负载的节点。

看一下这篇文章:https://www.datastax.com/dev/blog/token-allocation-algorithm