gpt4 book ai didi

cassandra - 如何加速单节点的bootstrap

转载 作者:行者123 更新时间:2023-12-04 23:02:05 27 4
gpt4 key购买 nike

我在我的开发机器上安装了一个单节点 Cassandra(并且几乎没有使用 Cassandra 的经验)。我节点中的数据总是很少,我没有遇到任何问题。我今天在表中插入了大约 9,000 个元素,以试验真实世界的用例。当我启动节点时,启动时间现在非常长。我在 system.log 中得到了这个

Replaying /var/lib/cassandra/commitlog/CommitLog-3-1388134836280.log
...
Log replay complete, 9274 replayed mutations

这花了 13 分钟,几乎无法忍受。我想知道是否有一种方法可以将数据存储为可以立即读取而无需重放日志的方式。毕竟 9,000 个元素不算什么,必须有更快的启动方式。我用谷歌搜索提示并搜索了 Cassandra 的文档,但我什么也没找到。很明显,我不是在寻找正确的东西,有人会这么好心地向我指出正确的文件吗?谢谢。

最佳答案

有几件事可能会有所帮助。您可以做的最明显的事情是在关闭 Cassandra 之前刷新提交日志。这也是在生产中做的一个好主意。在我停止生产中的 Cassandra 节点之前,我将运行以下命令:

nodetool disablethrift
nodetool disablegossip
nodetool drain

前两个命令优雅地关闭与连接到此节点的客户端的连接,然后关闭与环中其他节点的连接。排水命令将内存表刷新到磁盘(sstables)。这应该最大限度地减少需要在启动时重播的内容。

还有其他因素会使启动需要很长时间。 Cassandra 在启动时打开磁盘上的所有 SSTable。因此,磁盘上的列族和 SSTable 越多,节点开始为客户端提供服务所需的时间就越长。在 1.2 release to speed this up 中做了一些工作(所以如果你不是 1.2 你应该考虑升级)。减少 SSTable 的数量可能会改善您的开始时间。

既然你提到这是一台开发机器,我也会给你我的开发环境观察。在我的开发机器上,我做了很多创建和删除列族和键空间的工作。这可能会导致某些系统 CF 显着增长并最终导致明显的减速。解决这个问题的最简单方法是拥有一个脚本,它可以快速引导新数据库并清除 /var/lib/cassandra 中的所有旧数据。 .

关于cassandra - 如何加速单节点的bootstrap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20809186/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com