【发布时间】:2017-02-26 00:23:33
【问题描述】:
我们有一个由 4 台机器组成的 DSE 5.0 集群。在数据摄取期间,其中一台机器存储了大部分数据(100G),而其他三台机器存储的数据少得多(每台大约 15G)。我不知道为什么会发生这种情况,并计划进行调查,并可能在一个单独的问题中提出。
现在我尝试重新平衡集群。我知道的唯一方法是在 OpsCenter 中单击 Cluster Actions -> Rebalance。重新平衡开始并在大约 5 分钟后可重现地中止并出现此错误:
Rebalance Failed: java.rmi.UnmarshalException: Error unmarshaling return header; nested exception is:
java.net.SocketTimeoutException: Read timed out
部分数据按照重新平衡预览中的建议传输,大部分不是。
事件日志:
Error Rebalance failed: java.rmi.UnmarshalException: Error unmarshaling return header; nested exception is: java.net.SocketTimeoutException: Read timed out admin
Info Moving node xx.xx.xx.xx from token 5848419665553670365 to 2542108353485192999 NODE-04
Info Starting rebalance
可能是什么原因,我该如何调查和解决?
集群部署在 Azure 上的 4 台专用机器上。
【问题讨论】:
-
你能详细说明一下这个数据摄取部分吗?我们是在谈论大量数据还是正常操作?我只是想更好地了解为什么这可能首先发生。 @helmser 是正确的,在具有良好数据模型的正常用例中,它应该均匀分布数据。平衡工作失败仍然令人不安,如果这是一个错误,他们将能够与您一起诊断和诊断,并让您与 DataStax 的客户经理联系,让您与技术人员取得联系。解决。
-
@mando222 - PK 是从其余数据生成的简单 SHA 哈希,因此我假设 PK 分布良好。还没有正确分析实际分布。无论如何,重新平衡失败对我来说也确实像一个错误。
标签: cassandra datastax datastax-enterprise datastax-startup