我已经在集群中添加了一个新节点,并期望Cassandra上的数据在节点之间保持平衡。
node status
产生
$ nodetool status
Datacenter: dc1
===============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 10.128.0.7 270.75 GiB 256 48.6% 1a3f6faa-4376-45a8-9c20-11480ae5664c rack1
UN 10.128.0.14 414.36 KiB 256 51.4% 66a89fbf-08ba-4b5d-9f10-55d52a199b41 rack1
节点2的加载只有400KB,我们有时间序列数据和查询。如何重新平衡这些集群之间的负载? 两个节点的配置都是
cluster_name: 'cluster1'
- seeds: "node1_ip, node2_ip"
num_tokens: 256
endpoint_snitch: GossipingPropertyFileSnitch
auto_bootstrap: false
谢谢你的时间:)
答案 0 :(得分:3)
我已经在集群中添加了一个新节点,并希望Cassandra上的数据能够跨节点平衡。
明确设置`auto_bootstrap:false'告诉它不这样做。
如何重新平衡负载?
nodetool -h 10.128.0.14 repair
。-Or -
auto_bootstrap: true
(或只删除它)。Pro-tip:如果数据占用空间为270GB,那么您应该已经开始运行多个节点。从3个节点开始会更容易(这可能是你应该运行的最小节点)。