Cassandra1.2文档学习(5)—— Snitch

参考资料:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/architecture/architectureSnitchesAbout_c.html#concept_ds_c34_fqf_fk

  

  一个snitch(告密者)决定应当从哪个数据数据中心和机架写入和读取数据。snitch通知Cassandra关于网络的拓扑情况以保证数据请求能够高效地路由并且允许通过把机器按数据中心和机架分组以便Cassandra放置数据副本。所有的节点关于snitch的配置应当是一致的。Cassandra尽全力以保证在一个机架上只有一个备份(不在同一个机架上放多个备份,而是放置在不同机架上)。

提示:如果在数据插入到集群后修改了snitch配置,你必须进行一次深度的恢复,因为snitch影响数据备份放置的位置。

 

Dynamic snitching

  显示了从多个备份中读取数据并根据历史选择最好的备份的能力。

  如果可能的话,使请求不路由到性能差的节点。dynamic snitch是默认启用的并在大多数情况下被推荐使用。默认情况下,所有的snitch都使用dynamic snitch层来显示读取延迟,如果可能的话,不将请求路由到性能差的节点上。dynamic snitch默认是启动的,多数部署情况下都建议使用dynamic snitch。

 

SimpleSnitch

  默认的SimpleSnitch不需要知道数据中心和机架的信息。当使用数据中心时,可以使用SimpleSnitch。使用SimpleSnitch时,你需要指定keyspace的策略选项只有一项——复制因子。

 

RackInferringSnitch

  RackInferringSnitch通过机架和数据中心来定义节点的位置,节点用进制表示ip地址的的第二组为数据中心,第三组为机架。下面是个例子:

 

 

PropertyFileSnitch

  根据机架和数据中心决定节点的位置。这个snitch在配置文件cassandra-topology.properties中由用户定义网络情况描述。使用这个snitch的情况有两种:节点的ip地址不均匀或者如果你的数据副本需求比较复杂。当使用这个snitch时,你可以定义你想要的数据中心的名字。请确保数据中心的名字和keyspace的复制策略相关联。配置文件cassandra-topology.properties中应当包含集群中的每一个节点,并且每一个节点的cassandra-topology.properties应当相同。

  如果你的ip地址分布不均匀,并且有两个物理数据中心和一个逻辑数据中心,每个物理数据中心有两个机架,逻辑数据中心存放分析数据的备份。cassandra-topology.properties可能如下:

# Data Center One

175.56.12.105 =DC1:RAC1

175.50.13.200 =DC1:RAC1

175.54.35.197 =DC1:RAC1

 

120.53.24.101 =DC1:RAC2

120.55.16.200 =DC1:RAC2

120.57.102.103 =DC1:RAC2

 

# Data Center Two

110.56.12.120 =DC2:RAC1

110.50.13.201 =DC2:RAC1

110.54.35.184 =DC2:RAC1

 

50.33.23.120 =DC2:RAC2

50.45.14.220 =DC2:RAC2

50.17.10.203 =DC2:RAC2

 

# Analytics Replication Group

172.106.12.120 =DC3:RAC1

172.106.12.121 =DC3:RAC1

172.106.12.122 =DC3:RAC1

 

# default for unknown nodes default =DC3:RAC1

 

GossipingPropertyFileSnitch

  GossipingPropertyFileSnitch定义了一个本地节点的数据中心和机架。使用gossip传播信息给其他节点。conf目录下的配置文件cassandra-rackdc.properties定义了默认地数据中心和机架:

dc =DC1

 rack =RAC1

 

EC2Snitch

  将一个简单的集群(集群中的所有节点都在一个单一区域内)部署在亚马逊的EC2是可以使用EC2Snitch。这个区域被视为数据中心并且可用的区域被视为数据中心上的机架。例如,如果一个节点在us-east-1a,us-east是数据中心的名字,1a是机架的位置。因为私人的ip地址被使用了,snitch不能跨越多个区域。当定义keyspace的策略选项时,使用EC2的区域名字(例如us-east)作为数据中心的名字。

 

EC2MultiRegionSnitch

  当你在亚马逊Use the EC2 EC2 上布置一个多区域的集群时,请使用Amazon EC2。当使用EC2Snitch时,区域被视为数据中心并且可用的区域被视为数据中心上的机架。例如,如果一个节点在us-east-1a,us-east是数据中心的名字,1a是机架的位置。

  这个snitch使用公网地址作为作为广播地址从而能够方便的跨越区域。这就意味着你必须配置每一个节点,设置listen_address为内网地址,broadcast_address为公网地址。这样就允许在一个EC2区域的节点绑定另一个区域的节点,从而实现了多个数据中心。(对于区域内的通信,在连接建立后Cassandra转换成内部ip)。

  此外,你必须在配置文件cassandra.yaml中设置种子节点的地址,而且必须是公网ip,因为内网地址是不能路由的。例如:

seeds: 50.34.16.33, 60.247.70.52

  对于每一个种子节点,使用这个命令去找到公共的ip地址:

curl http://instance-data/latest/meta-data/public-ipv4

  最后,请确保参数storage_port 或者 ssl_storage_port是可以被访问的。

  当定义keyspace的策略选项时,使用EC2的区域名字(例如us-east)作为数据中心的名字。

转载于:https://www.cnblogs.com/dyf6372/p/3532928.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/460583.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Entity Framework在WCF中序列化的问题(转)

问题描述 如果你在WCF中用Entity Framework来获取数据并返回实体对象,那么对下面的错误一定不陌生。 接收对 http://localhost:5115/ReService.svc 的 HTTP 响应时发生错误。这可能是由于服务终结点绑定未使用 HTTP 协议造成的。 这还可能是由于服务器中止了 HTTP …

【iHMI43 4.3寸液晶模块】demo例程(版本1.03)发布

技术论坛:http://www.eeschool.org 博客地址:http://xiaomagee.cnblogs.com 官方网店:http://i-board.taobao.com 银杏科技 GINGKO TECH. 保留权利,转载请注明出处 一、简介: 1、iHMI43 演示程序(版本号:1…

SDRAM——X210的SDRAM的初始化

以下内容源于朱友鹏嵌入式课程的学习与整理,如有侵权请告知删除。 参考博客:s5pv210——初始化SDRAM - biaohc - 博客园 这里说的SDRAM,简单点理解就是内存。 一、SDRAM的简介 1、SDRAM的含义 SDRAM是Syncronized Dynamic Ramdam Access Me…

安卓开发.四大组件.activity.1

安卓开发.四大组件.activity.1 转载于:https://www.cnblogs.com/motadou/p/3534056.html

单独一台机器测试Open×××加密隧道的问题和解决

其实这篇文章和Open的关系倒不是很大,只是通过Open测试时暴露出的问题。这篇文章里面倒是包含了很多IP路由以及conntrack的细节内容。 有时候,为了节省机器,我希望在一台设备上模拟多个设备,当然,使用网络命名空…

SCRT中只换行不回车的问题(阶梯)

转载源:SecureCRT中只换行不回车的问题 - 知乎 在SecureCRT中有时会遇到由于Windows的换行和Unix的换行控制字符不同的问题(\r\n-\n),导致显示如下图所示的“阶梯”,又不想到源码中一个个改控制字符,此时可…

Android Training精要(六)如何防止Bitmap对象出现OOM

1.使用AsyncTask異步加載bitmap圖片避免OOM: class BitmapWorkerTask extends AsyncTask<Integer, Void, Bitmap> { private final WeakReference<ImageView> imageViewReference; private int data 0; public BitmapWorkerTask(ImageView imageView) { // Use a …

iOS会议和组织

全世界有许多iOS会议和组织&#xff0c;如果你没有机会去参加&#xff0c;知道他们的存在和向他们学习对你也是有益的。事实上&#xff0c;他们中有些提供免费的幻灯片、视频&#xff0c;有用资料等&#xff0c;所以你不能够忽视他们。 有一些会议的主题并不仅仅关于iOS的&…

开发板——X210开发板的软开关(供电置锁)

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 一、前言 本章节在裸机课程的SD卡启动部分。 本文讲述如何设置开发板&#xff0c;使得一按下电源键程序运行后即可松手不会断电&#xff0c;即供电置锁。 二、软开关的简介 电路设计一般使用拨码开…

国产Linux软件

为什么80%的码农都做不了架构师&#xff1f;>>> 本页面收集支持deepin/Linux的国产软件&#xff0c;对于每款软件以“日出东方-发行时间较短&#xff1b;正当壮年-时间较长且稳定&#xff1b;每况愈下-你们懂的”评价 软件版本时间评价有道词典 Linux版1.02015-03…

QGLViewer 编译安装步骤

由于工作学习的需要&#xff0c;要用opengl绘制显示些模型动画&#xff0c;原来用的是Qt做UI&#xff0c;直接调用的是QGLWidget类&#xff0c;但这个只是提供了基本的框架&#xff0c;很多交互操作还需添加代码完成&#xff0c;自己偷懒也觉得繁琐&#xff0c;就借用了开源的工…

触摸屏——S5PV210的触摸屏的理论与操作

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有其侵权请告知删除。 一、输入类设备简介 1、input/output 输入输出&#xff0c;是计算机系统中的一个概念。计算机可以看作数据处理器。计算机的主要功能就是从外部获取数据&#xff0c;然后进行计算加工得到输出数据…

搭建nginx流媒体服务器(支持HLS)

环境搭建 &#xff08;一&#xff09;下载源代码 nginx&#xff0c;地址&#xff1a;http://nginx.org/可以选择需要的版本下载 nginx_mod_h264_streaming-2.2.7.tar.gz &#xff0c;支持MP4流&#xff0c;具体的说明在下面的这个网页 http://h264.code-shop.com/trac/wiki/Mod…

Spring中的动态代理

动态代理&#xff1a;指的就是通过一个代理对象来创建需要的业务对象&#xff0c;然后在这个代理对象中统一进行各种需求的处理。 学习完Spring后会发现&#xff0c;Spring中的AOP&#xff08;面向方面编程&#xff1a;Aspect Oriented Programming&#xff09;是个很重要的知识…

LED——S5PV210的LED的理论与操作

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 一、LED物理特性介绍 LED本身有2个接线点&#xff0c;一个是LED的正极&#xff0c;一个是LED的负极。 LED的功能就是亮或者不亮&#xff0c;只需要给LED的正极加电压即可点亮LED&#xff0c;去掉电压…

“.公司”域名注册总量TOP15:新网问鼎 万网居亚

IDC评述网&#xff08;idcps.com&#xff09;01月16日报道&#xff1a;根据ntldstats.com发布的最新数据显示&#xff0c;截止至01月15日17:00&#xff0c;在“.公司”域名注册总量大战中&#xff0c;新网打败众多国内外域名服务商&#xff0c;成为新晋霸主&#xff0c;其“.公…

Prepare for Mac App Store Submission--为提交到Mac 应用商店做准备

返回 Mac App Store Prepare for Mac App Store Submission 提交到Mac 应用商店之前的准备 Most of your time is spent on coding tasks, but to develop for the Mac App Store, you need to perform a number of administrative tasks, using Xcode and other tools. You’l…

ARM通识——关于ARM的一些认识

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 注意&#xff0c;由于文章的撰写时间过早&#xff0c;很多内容没有更新&#xff0c;这里仅当一个通识了解。 1、ARM发展的里程碑 ARM的前身为艾康电脑&#xff08;Acorn&#xff09;&#xff0c;于…

使用RMAN备份数据库

1.1使用控制文件备份全库 1.1.1配置备份路径 1.1.2 RMAN备份全库 1.2使用catalog数据库备份全库 1.2.1配置到远程数据库的TNS 1.2.2创建表空间及设置用户 1.2.3进入目录数据库并注册 1.2.4 CATALOG方式备份全库 转载于:https://www.cnblogs.com/myrunning/p/4231057.html

PL/SQL Developer连接Oracle 11g在Win8 64位系统下乱码

PL/SQL Developer在64位系统上连接Oracle&#xff0c;需要安装32位Oracle client客户端&#xff0c;使用后&#xff0c;发现操作数据库出现乱码的情况。经过查找资料&#xff0c;解决此问题&#xff0c;方法如下&#xff1a; 需要在系统的环境变量中&#xff0c;加入以下变量&a…