Snitch决定了节点属于哪个数据中心和机架。Snitch通知Cassandra网络拓扑以便请求被有效的路由,并且允许Cassandra在服务器增加到数据中心或机架的时候能够分发副本。特别的,复制策略如何放置副本是基于新snitch提供的信息。Cassandra不会把副本放到一个机架里面(如果机架断电,那就over了)。

动态snitching

监控从大量副本读取数据的性能和选择最优的副本是基于这些历史条件的。默认情况下,所有的snitch也使用动态的snitch层监控读的延时,并且,在可能的情况下,不路由请求低性能的节点。动态snitch是默认启用的,这个也是大多数情况推荐的。

SimpleSnitch

这个选项是只有一个数据中心的时候才能用。默认情况下,SimpleSnitch是不知道数据中心和机架信息的。如果要用的话,在定义keyspace的时候就需要使用SimpleStrategy并指定复制因子。

RackInferringSnitch

这是通过机架或数据中心的IP来决定节点的位置。

PropertyFileSnitch

它也是通过机架或数据中心决定节点的位置。这个就需要自己配置cassandra-topology.properties。如果你的IP没有规则或者有 复杂的复制增加需求就可以使用这个snitch。这个snitch需要你在cassandra-topology.properties定义每个节点(有 点麻烦)。

GossipingPropertyFileSnitch

这个snitch在新增节点的时候会通过gossip自动更新每个节点。

其他还有EC2Snitch,EC2MultiRegionSnitch,GoogleCloudSnitch,CloudstackSnitch等,由于在外部共有云上,对此暂时不做研究。

转载于:https://blog.51cto.com/eric100/1759962

Cassandra教程(6)---- Snitch相关推荐

  1. Cassandra 中的Snitch

    Cassandra中的Snitch是用来告诉Cassandra网络的拓扑结构,比如节点之间的相对距离,节点的如何分组,节点所在的rack,从而对用户请求可以进行高效的路由. 注意:一个集群中的所有的节 ...

  2. Cassandra教程(4)---- 节点间交互(gossip)

    Gossip是一个P2P的协议,在Cassandra集群中的节点利用它交换相互间的信息.名叫gossip的进程在集群中每秒交换数据的节点多达3个以上,由于节点交换了自己和相关节点间的信息,所以节点很快 ...

  3. 操作Cassandra(1)-Snitch

    Snitch 在cassandra中,snitch有两个功能: 它指导Cassandra识别网络拓扑以有完成效地路由请求. 它允许Cassandra在您的集群周围传播副本,以避免相关的故障.它通过将机 ...

  4. JavaTPoint 数据库教程【翻译完成】

    原文:JavaTPoint 协议:CC BY-NC-SA 4.0 阶段:机翻(1) 危机只有发展到最困难的阶段,才有可能倒逼出有效的解决方案.--<两次全球大危机的比较研究> 在线阅读 在 ...

  5. Succinctly 中文系列教程 20220109 更新

    Succinctly 会计教程 一.会计简明指南 二.收入和费用 三.收入确认 四.组织账目 五.会计原则 六.会计制度报告 七.固定资产 八.应收账款 九.应付账款 十.库存 十一.工资单 十二.总 ...

  6. Apache Spark,Cassandra和《权力的游戏》

    Apache Spark和Cassandra是数据处理管道中的强大组合. 在本文中,我们将使用Spark Cassandra组合构建一个Scala应用程序,并从<权力的游戏>中查询战斗数据 ...

  7. l3asnumanode 设置_linux numa 配置

    Cassandra操作 本文档操作都是在单数据中心,Vnode上操作 1.1. 添加节点到集群中 1.1.1. 添加非seed单节点 1.在新节点上安装Cassandra,但不要启动 2.修改cass ...

  8. TutorialsPoint 电子书 归档 2017

    TutorialsPoint AWT 教程 Gitee 下载 Github 下载 SourceForge 下载 TutorialsPoint Angular 2 教程 Gitee 下载 Github ...

  9. python处理csv百万数据-分分快3大小

    .NET Core教程 .NET Core是Microsoft最新的通用开发平台.它可以在不同的平台上工作,并且已经被重新设计,使.NET变得快速,灵活和现代. A/B测试教程 A/B测试是比较两个或 ...

最新文章

  1. libev源码解析——I/O模型
  2. 人工智能基础-向量的基本几何意义
  3. 轻松搭建博客平台-开源ASP.NET 博客Subtext 的安装
  4. lucene 范围过滤
  5. centos 搭建 svn服务器
  6. 操作系统 chapter 12 死锁
  7. Socket选项之SO_RCVTIMEO 和SO_SNDTIMEO
  8. 向前欧拉公式例题_小学语文阅读理解答题万能公式,简单实用!
  9. JavaSE基础:泛型
  10. 专业五线谱作曲打谱软件Overture的常用快捷键功能大全
  11. J2SE基础夯实系列之正则表达式Java
  12. 基于SSM的企业员工管理系统
  13. Python编程之画圆
  14. P2525 Uim的情人节礼物·其之壱 prev_permutaion
  15. 零基础学Python课后实战第五章
  16. Python案例之Numpy + Pandas——北京房价分析、2018年北京积分落户数据分析
  17. 7-154 置点不动产——认真学习,努力工作买买房子吧
  18. Java实现zip文件压缩:单个文件、文件夹以及文件和文件夹的压缩
  19. 2D骨骼动画工具Sprite Studio使用教程
  20. 雷林鹏分享:jQuery EasyUI 数据网格 - 启用行内编辑

热门文章

  1. 自定义控件:快速索引
  2. 只有程序员才能看懂的!
  3. Qt Quick Designe
  4. 高级篇days01——微服务保护(基于Sentinel框架)
  5. securecrt7.0破解版安装与注册机的使用方法
  6. root-me:network(一)
  7. 安卓面试之自定义View流程及原理
  8. vijos P1966 夜夜的旅游计划
  9. mac vim 终端命令
  10. 常用激活函数/损失函数/代价函数