我将一个新节点添加到 Cassandra 集群,方法是将其设为种子节点,然后开始重建它( nodetool rebuild )命令。尽管节点很快加入了集群,但从选定的所有节点开始流式传输的重建过程导致整个 dc 节点变慢。对应用的影响是严重的。我将不得不停止重建过程以保持正常运行!。
在这里,我正在寻求建议,如果你们可以分享方法/技巧,以尽量减少(节点重建)操作对其余直流节点和应用程序的影响。
我将非常感谢您的建议 - 感谢您提前阅读我的信息和您的帮助。
据我了解,您添加了一个节点作为种子节点,因此它不会立即启动并加入集群。虽然这种方法适合它快速加入集群,但缺点是它不会引导,因此不会从它负责的其他节点复制所有数据。当您在该节点上运行重建时,数据会从其他节点盲目复制(不进行任何验证),这可能会扼杀现有节点的吞吐量和您的网络管道。这种方法非常安全,建议在使用添加新 DC 时推荐使用,但在将节点添加到现有 DC 时推荐使用。
添加节点时,最简单的方法是使用此处描述的过程添加节点。https://docs.datastax.com/en/archived/cassandra/2.0/cassandra/operations/ops_add_node_to_cluster_t.html
当节点引导时,它将从其他节点复制所需的数据,但在完全引导并验证数据之前不会开始获取客户端连接。因此,一次添加一个节点并让它引导,以便复制和验证所有必要的数据。添加完所需的节点数后,对所有先前加入的节点运行清理以清理旧节点不负责的所有键。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句