如何加快 cassandra 集群中的节点加入过程

Posted

技术标签:

【中文标题】如何加快 cassandra 集群中的节点加入过程【英文标题】:How to speedup node joining process in cassandra cluster 【发布时间】:2018-11-08 13:53:26 【问题描述】:

我有一个集群 4 个 cassandra 节点。我最近添加了一个新节点,但数据处理时间太长。有没有办法让这个过程更快? output of nodetool

【问题讨论】:

多长太长?您的集群当前每个节点有 50-80TB 的数据,因此您的加入节点将在引导期间将其共享的这些数据流式传输到它。这将需要很长时间。 新节点在 6 天前加入集群,目前处理的数据为 918gb。这是正常行为还是有什么方法可以让这更快? 【参考方案1】:

每个节点的数据更少。您的屏幕截图显示每个节点 80TB,这非常高。

建议每个节点 1TB,最多 2TB。这背后的逻辑是引导时间太长(正如您所注意到的)。一个好的 Cassandra 环应该能够从节点故障中快速恢复。如果第一个节点正在重建时其他节点发生故障会怎样?

请记住,Cassandra 的典型模型是许多较小的节点,而 SQL 则需要一些非常强大的服务器。 (横向扩展与纵向扩展)

因此,我将通过将集群扩大到 10 倍至 20 倍的节点数量来解决此问题。

https://groups.google.com/forum/m/#!topic/nosql-databases/FpcSJcN9Opw

【讨论】:

统计数据可能不正确 - 我记得一些 C* 版本有一个错误,它不是更新加载部分,而是与以前的值相加,直到您重新启动节点 1 - 2 TB 每个节点仅适用于 ext2/ext3。 wiki.apache.org/cassandra/CassandraHardware @PedroGordo 该链接仅指最大文件大小。不是重建时间。无论 FS 类型如何,我发布的指南都是正确的。 我认为您对“推荐”一词的使用是这里的问题。根据推荐,我想象的是官方推荐,但您所指的是来自 Google 小组的讨论,因此称其为推荐还为时过早。 我不是在质疑你的理由。这很有意义。我只是说要小心,因为我最近发现问题发生了,因为人们认为互联网上某处的推荐是官方推荐。

以上是关于如何加快 cassandra 集群中的节点加入过程的主要内容,如果未能解决你的问题,请参考以下文章

cassandra 调试问题

Cassandra 集群管理-添加新节点

如何将第三个节点添加到 2 节点 Cassandra 集群?

DCE Cassandra 3.9 在加入现有集群期间创建二级索引缓慢

Nutanix集群的Cassandra服务

当表在集群中的多个节点之间复制时,COPY 如何在 cassandra 中工作?