【问题标题】:cassandra node takes long to join the clustercassandra节点加入集群需要很长时间
【发布时间】:2022-01-12 15:02:30
【问题描述】:

单个 DC 的集群中有 6 个节点,集群中只有少数表,但其中一个非常大(~150gb)具有 sasi 索引。现在,当我向集群添加一个新节点(必须再添加 6 个)时,引导需要很长时间(大约一个小时左右)。从它的外观来看,直到它完成引导程序,新节点的状态才会显示为 UJ,然后一旦完成就变成 UN - 它是这样工作的吗?

在前 10 到 15 分钟内,确实会看到流式传输(通过 nodetool netstats),之后在这个巨大的表上开始创建 sasi 索引(通过 nodetool compactionstats 检查)。这部分需要很长时间才能完成(约 45 分钟)。有什么方法可以加快自举速度吗?是否可以推迟创建 sasi 索引(例如通过禁用压缩)?如果可以,猜猜需要使用nodetool rebuild_index 来重建索引吗?如果不能延迟,那么有哪些方法可以加快索引创建/引导过程?

【问题讨论】:

    标签: cassandra


    【解决方案1】:

    单个 DC 的集群中有 6 个节点,集群中只有少数表,但其中一个非常大(~150gb)具有 sasi 索引。现在,当我向集群添加一个新节点(必须再添加 6 个)时,引导需要很长时间(大约一个小时左右)。从它的外观来看,直到它完成引导程序,新节点的状态才会显示为 UJ,然后一旦完成就变为 UN - 它是这样工作的吗?

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

    在前 10 到 15 分钟内,确实会看到流式传输(通过 nodetool netstats),之后在这个巨大的表上开始创建 sasi 索引(通过 nodetool compactionstats 检查)。这部分需要很长时间才能完成(约 45 分钟)。有什么方法可以加快自举速度吗?是否可以推迟创建 sasi 索引(例如通过禁用压缩)?如果可以,猜猜需要使用nodetool rebuild_index 来重建索引吗?如果不能延迟,那么有哪些方法可以加快索引创建/引导过程?

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

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

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

    【讨论】:

      猜你喜欢
      • 2018-08-16
      • 1970-01-01
      • 2018-12-25
      • 1970-01-01
      • 1970-01-01
      • 2012-11-29
      • 1970-01-01
      • 2014-05-21
      • 1970-01-01
      相关资源
      最近更新 更多