本文共 632 字,大约阅读时间需要 2 分钟。
Cassandra中的Snitch是用来告诉Cassandra网络的拓扑结构,比如节点之间的相对距离,节点的如何分组,节点所在的rack,从而对用户请求可以进行高效的路由。
注意:一个集群中的所有的节点都必须采用相同的Snitch策略。
Snitch的分类:
SimpleSnitch:
这种Snitch是默认的Snitch,当没有机架(rack)或者数据中心时最适用。因为它不会识别任何rack或者Data Center相关信息
RackInferringSnitch:
这种Snitch通过分析节点的IP信息来得到节点位置,它假定ip地址4分位的第2个分位是数据中心名,而第3个分位是机架名。所以如果有两个节点,前3个分位都相同,则代表这两个节点在同一个机架上,而如果前2个分位相同,则代表这两个节点在同一个数据中心。
PropertyFileSnitch:
这种Snitch中,通过用户配置的cassandra-topology.properties文件来给出节点的位置。这种方法最灵活。
Cassandra中给出了这个文件的一个模板,我们如果要启用这种Snitch则需要配置这个模板:
实战:
我们看下我们环境中的Snitch方法,采用的是默认的SimpleSnitch: