将许多新的cassandras引导到群集,没有任何错误

wrrgggsh  于 2022-12-18  发布在  Cassandra
关注(0)|答案(1)|浏览(131)

我的集群大约有100个节点,而且还在增长。我需要根据请求添加10-50个节点。我知道默认情况下,cassandra有cassandra.consistent.rangemovement=true,这意味着多个节点无法在一瞬间启动。无论如何,当我使用Terraform和某种默认配置添加许多节点时(使用Puppet)至少2-3个成为UJ状态,最终只有一个引导成功。之前我在启动cassandra.service之前使用了随机时间延迟,但添加10个以上节点时不起作用。我正在尝试找出如何为 Bootstrap 实现某种“锁定”。我有Consul,可以在KV中为 Bootstrap 获得某种锁定。例如,使用ExecPreStart systemd功能获得锁定,但我不知道如何在 Bootstrap 后释放它。
我在寻找解决办法。

lnxxn5zx

lnxxn5zx1#

我以前用Rundeck做过类似的事情,基本上,我们让Rundeck启动一个bash脚本,获取关于节点部署以及节点数量的参数。
我们所做的是解析nodetool status的输出,计算节点数和UN指示符数,如果这两个数字不匹配,我们将执行sleep 30s并重试。
一旦这些数字匹配,我们就知道添加另一个节点是安全的。整个操作可能需要一段时间来添加所有节点,但它工作。

相关问题