cassandra吊舱需要比预期更多的引导时间

l7wslrjt  于 2021-06-10  发布在  Cassandra
关注(0)|答案(1)|浏览(237)

我把Cassandra当作Kubernetes吊舱。一个pod有一个cassandra容器。我们正在运行3.11.4版本的cassandra,并将auto\u bootstrap设置为true。我在生产中有5个节点,它保存20gb的数据。
由于一些维护活动,如果我重新启动任何Cassandra吊舱,它需要30分钟的引导,然后它就来了,正常状态。在生产30分钟是一个巨大的时间。
如何减少cassandra吊舱的启动时间?
谢谢您!!

7cwmlq89

7cwmlq891#

如果您正在重新启动现有的节点,并且数据仍然存在,那么它不是节点的引导,而是重新启动。
您可能遇到的一个问题是,在重新启动之前没有排空节点,所有提交日志都需要在启动时重放,如果提交日志中有大量数据,这可能需要花费大量时间(您只需检查 system.log Cassandra当时在做什么)。所以解决办法可能是执行 nodetool drain 在停止节点之前。
如果节点在崩溃或类似情况之前重新启动,则可以按照memtable中数据的常规刷新方向进行操作,例如通过 nodetool flush ,或通过 memtable_flush_period_in_ms 最忙的table上的选项。但要小心这种方法,因为它可能会创建许多小表,这将增加更多的压缩过程的负荷。

相关问题