【问题标题】:Cassandra multi node balancingCassandra 多节点平衡
【发布时间】:2017-05-30 20:24:49
【问题描述】:

我在集群中添加了一个新节点,并希望 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

感谢您的宝贵时间:)

【问题讨论】:

    标签: cassandra


    【解决方案1】:

    我已将一个新节点添加到集群中,并希望 Cassandra 上的数据能够在节点之间保持平衡。

    明确设置 `auto_bootstrap: false' 告诉它不要这样做。

    如何重新平衡负载?

    1. 将您的密钥空间设置为 RF 2。
    2. 运行nodetool -h 10.128.0.14 repair

    -或者-

    1. 从集群中取出 10.128.0.14。
    2. 设置auto_bootstrap: true(或直接删除)。
    3. 然后启动节点。它应该加入和流式传输数据。

    专业提示:使用 270GB 的数据占用空间,您一开始就应该使用多个节点运行。从 3 个节点开始会容易得多(这可能是您应该运行的最低限度)。

    【讨论】:

    • 感谢 aaron,我删除了 10.128.0.14 并添加了一个删除了 bootstrap conf 的新节点,它确实加入了集群,但节点状态的结果是相同的。新节点上只有几 KB。拥有百分比不应该反映负载吗?
    • @Junaid 好的,不要将新节点配置为种子节点。对于种子节点,只列出 10.128.0.7。
    • 是的,我就是这么做的。
    猜你喜欢
    • 1970-01-01
    • 2014-11-27
    • 2011-01-15
    • 2019-11-13
    • 2015-03-01
    • 2013-04-26
    • 1970-01-01
    • 1970-01-01
    • 2014-01-05
    相关资源
    最近更新 更多