我是Cassandra的新手。在我们的生产环境中,三节点cassandra集群正在运行并服务于生产流量,但我已经在下面提到了doubts:-
1) 所有节点都配置在不同的机架中,即同一个dc中的机架1、机架2和机架3。它是好的还是这种配置有一些缺点?
2) 我们对除系统表以外的所有键空间都使用rf2和网络拓扑,这些系统表都配置了rf2和simplestrategy..可以吗,还是需要更改?我们应该增加系统的复制因子吗。。请告诉我。。
3) 现在我想在同一个dc中添加另一个节点,在不影响实时流量的情况下,最好的方法是什么?cassandra版本是ApacheCassandra3.11。
提前谢谢。。
2条答案
按热度按时间6vl6ewon1#
ans1)cassandra节点在不同的机架中似乎很好,以提高可用性和容错性。ans 2)您必须增加system\u auth上的rf,以便可以避免来自其他节点的cqlsh登录问题。ans3)您可以添加新节点,而不影响现有集群上的实时流量。请遵循以下程序。http://cassandra.apache.org/doc/latest/operating/topo_changes.html
xiozqbni2#
Cassandra被设计成一个分布式系统。cassandra的分布式体系结构是专门为多数据中心部署定制的。这些功能足够强大和灵活,您可以配置集群以实现最佳地理分布、故障转移和灾难恢复的冗余。
多个数据中心部署是全球解决方案的最佳选择,在这些解决方案中,有些应用程序在一个地区运行,而另一些应用程序在另一个地区运行,并且使用单个cassandra群集,该群集在多个地区的多个数据中心中工作。
对于单区域应用程序,仍然有多个数据中心是首选选项,因为即使一个区域发生故障,它也可以提供灾难恢复。
ans 1)对于单个dc cassandra集群,建议使用4个rf3节点。机架1有2个节点,机架2有2个节点。请记住,同一机架中的节点比不同机架中的节点具有更快的网络速度。在同一机架上有两个节点的情况下,使用本地仲裁的查询将比所有节点位于不同机架上的集群上的查询更快。
如果您不关心查询延迟,那么与两个机架部署相比,不同机架(3个机架)中的所有节点将提供更好的灾难恢复。尽管如此,还是建议对生产集群使用多dc部署。
ans 2)通常建议增加system\U auth keyspace的复制因子,并将复制类更改为networktopologystrategy。请遵循此文档了解更多详细信息https://docs.datastax.com/en/security/6.0/security/secsystemkeyspace.html
ans 3)是的,您可以轻松地将新节点添加到现有集群中,而不会影响通信量。请遵循此文档了解更多详细信息:https://docs.datastax.com/en/archived/cassandra/3.0/cassandra/operations/opsaddnodetocluster.html