Database 3节点Cassandra集群中的负载不均匀和模式不一致

Database 3节点Cassandra集群中的负载不均匀和模式不一致,database,cassandra,distributed,bigdata,nosql,Database,Cassandra,Distributed,Bigdata,Nosql,我有一个3节点的单数据中心Cassandra集群,由节点a(10.0.0.1)、B(10.0.0.2)和C(10.0.0.3)组成。有意义的配置包括: 闲聊属性文件窃贼(dc=dc1,机架=rack1) 种子节点:A(请参阅部分:采取的步骤) 网络拓扑策略 复制因子:3 问题是: 运行nodetool status会产生以下输出: Datacenter: dc1 =============== Status=Up/Down |/ State=Normal/Le

我有一个3节点的单数据中心Cassandra集群,由节点a(10.0.0.1)、B(10.0.0.2)和C(10.0.0.3)组成。有意义的配置包括:

  • 闲聊属性文件窃贼(dc=dc1,机架=rack1)
  • 种子节点:A(请参阅部分:采取的步骤)
  • 网络拓扑策略
  • 复制因子:3
问题是: 运行nodetool status会产生以下输出:

    Datacenter: dc1
    ===============
    Status=Up/Down
    |/ State=Normal/Leaving/Joining/Moving
    --  Address        Load       Tokens       Owns (effective)  Host         ID                               Rack
    UN  10.0.0.1  177.41 MiB  256          100.0%                    0a8da3f3-73d0-4d2f-bf97-e002d91a444f  rack1
    UN  10.0.0.2  144.34 MiB  256          100.0%                    5d8ca11f-a1c2-4381-aeeb-ed824ceafc96  rack1
    UN  10.0.0.3  44.36 MiB  256          100.0%                    b20a490e-b54d-4c65-800c-56d98f5a86dd  rack1
这表明负载平衡工作不正常。此外,nodetool describecluster表示模式不一致

    Cluster Information:
        Name: Test Cluster
        Snitch: org.apache.cassandra.locator.DynamicEndpointSnitch
        Partitioner: org.apache.cassandra.dht.Murmur3Partitioner
        Schema versions:
            a4dade6e-d3a1-3168-8ea0-b7ffb11bc742: [10.0.0.1]

            f2dcee06-79c5-3855-9305-ce8ad2ee7fe4: [10.0.0.2, 10.0.0.3]
采取的步骤
  • 端口转发和检查所有节点上的连接
  • 种子节点的不同组合(ABA/BB/CA/C
  • 所有节点上的nodetool修复(无错误)
编辑1:
A(10.0.0.1)上的nodetool resetlocalschema没有解决模式不一致问题,即使在B(10.0.0.2)和C(10.0.0.3)上运行它也没有解决

编辑2:
在正常关闭所有三个节点并重复编辑1中所述的过程后,解决了架构不一致问题

    Cluster Information:
        Name: Test Cluster
        Snitch: org.apache.cassandra.locator.DynamicEndpointSnitch
        Partitioner: org.apache.cassandra.dht.Murmur3Partitioner
        Schema versions:
            f2dcee06-79c5-3855-9305-ce8ad2ee7fe4: [10.0.0.1, 10.0.0.2, 10.0.0.3]

负载平衡问题仍然存在

您只有一个DC,因此只要节点只有相同的种子节点,该部分就不会有问题。首先尝试在节点
10.0.0.1
上运行
nodetool resetlocalschema
,查看它是否使用
.2
.3
移动到架构中。如果没有,则对2和3执行相同操作,直到它们同步。然后你可以看看数据分布。嘿,谢谢你的回复。不幸的是,这并没有解决这个问题,我更新了这个问题。不匹配的版本可能会导致架构不一致,但我假设这里一切正常。下一步是检查日志中是否有可能导致架构不一致的警告和错误,您能在某个地方共享日志吗?我设法解决了架构不一致的问题(更新OP),但不确定这是否是巧合。这方面做得很好。现在您已经有了模式协议,我可能会在集群中运行修复,然后检查负载数据大小