cassandra节点加入集群需要很长时间

cassandra node takes long to join the cluster

单个 DC 的集群中有 6 个节点,集群中只有几个 table,但其中一个非常大 (~150gb) 具有 sasi 索引。现在,当我向集群添加新节点(必须再添加 6 个节点)时,bootstrapping 花费了相当长的时间(大约一个小时左右)。从它的外观来看,直到它完成 bootstrap 新节点的状态显示为 UJ,然后在完成后变为 UN - 它是如何工作的?

在前 10-15 分钟内确实看到了流式传输(通过 nodetool netstats),之后在这个巨大的 table 上开始创建 sasi 索引(通过 nodetool compactionstats 检查)。这部分需要很长时间才能完成(~45 分钟)。有什么方法可以加快 bootstrapping 速度吗?是否可以推迟 sasi 索引的创建(比如通过禁用压缩)?如果可以,估计需要用nodetoolrebuild_index重建索引?如果不能延迟,那么有什么方法可以加快索引creation/bootstrapping进程?

There are 6 nodes in the cluster of a single DC, there are only few tables in the cluster but one of the is quite big (~150gb) having a sasi index. Now when I am adding a new nodes (have to add another 6) to the cluster, the bootstrapping is taking quite long (about an hour or so). From the looks of it, until it completes bootstrap the status of the new node shows up as UJ and then becomes UN once done - is that how it works?

是的,一个新节点bootstrap是这样的。 UJ 表示该节点正在从其他节点获取数据并且不占用任何客户端流量。一到达联合国状态,它也开始占用流量。

In the first 10-15mins do see streaming happening (via nodetool netstats), after which the sasi index creation gets kicked off on this huge table (checked via nodetool compactionstats). This part takes quite long to complete (~45mins). Is there any way to speed up the bootstrapping? Could sasi index creation be deferred (say by disabling compaction)? If it can be, guess nodetool rebuild_index needs to be used to rebuild the index? If it cannot be deferred, then what are the ways to speed up the index creation/bootstrapping process?

您不应禁用 SASI 索引创建。您可以通过

提高 bootstrap 速度
  1. 在所有节点上增加 streamingthourhput。你可以使用它`nodetool setcompactionthroughput'
  2. 您可以在新节点上增加“并发压缩器”。

加入节点的 1 小时似乎并不长。