在AWS上自动调整Cassandra集群

时间:2017-08-25 08:22:23

标签: amazon-web-services amazon-ec2 cassandra cassandra-3.0 cassandra-stress

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

我已经尝试了4次以上的RF3CL1自动扩展3节点,其中一个自动调节节点的CPU利用率仍为零。整体CPU利用率有所下降,但其中一个自动缩放节点从自动缩放的角度来看一直处于空闲状态。

请注意,在自动扩展时启动的两个节点由相同的启动配置启动。两个节点在每个方面都具有相同的配置。触发节点时会发出警报,并根据该警报设置扩展策略。

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

例如,改变键空间?

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

是的,Cassandra你不需要ELB。

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

添加新节点时,Cassandra会自动将某些令牌平衡到新节点。这可能就是为什么你看到一个新节点上的负载,这恰好会得到一些具有密钥空间数据的令牌。