1

我一直在尝试在 Amazon EC2 实例上使用复制因子 3 和一致性级别 1 自动扩展 3 节点 Cassandra 集群。尽管有负载均衡器,其中一个自动缩放节点的 CPU 利用率为零,而另一个自动缩放节点上有相当大的流量。

我已经尝试了超过 4 次来使用 RF3CL1 自动缩放 3 个节点,并且其中一个自动缩放节点上的 CPU 利用率仍然为零。总体 CPU 利用率有所下降,但其中一个自动缩放节点从自动缩放点开始一直处于空闲状态。

请注意,在自动缩放时启动的两个节点由相同的启动配置启动。这两个节点在各个方面都具有相同的配置。节点触发有告警,根据告警设置伸缩策略。

是否有可以在用户数据上运行的 bash 脚本?

例如,改变键空间?

有人可以让我知道这种行为背后的原因是什么吗?

4

2 回答 2

1

AWS 自动扩展和负载均衡不适合 Cassandra。Cassandra 有自己的内置集群,带有种子节点来发现集群的其他成员,因此不需要 ELB。自动缩放可能会搞砸你,因为数据必须在节点之间重新平衡。

https://d0.awsstatic.com/whitepapers/Cassandra_on_AWS.pdf

于 2017-08-25T10:15:13.187 回答
0

是的,Cassandra 不需要 ELB。

因此,您创建了一个单节点 Cassandra,并创建了一些键空间。然后将 Cassandra 扩展到三个节点。您在访问现有密钥空间时发现一个新节点处于空闲状态。这种理解正确吗?您是否将现有键空间的复制因子更改为 3?如果没有,现有键空间的数据仍将有 1 个副本。

添加新节点时,Cassandra 会自动平衡一些代币到新节点。这可能就是为什么您会在其中一个新节点上看到负载的原因,这恰好获得了一些具有键空间数据的令牌。

于 2017-08-30T18:04:15.187 回答