![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Cassandra
文章平均质量分 78
earthhour
这个作者很懒,什么都没留下…
展开
-
分布式 Key-Value 存储系统:Cassandra 入门
Cassandra 的数据模型是基于列族(Column Family)的四维或五维模型。它借鉴了 Amazon 的 Dynamo 和 Google's BigTable 的数据结构和功能特点,采用 Memtable 和 SSTable 的方式进行存储。在 Cassandra 写入数据之前,需要先记录日志 ( CommitLog ),然后数据开始写入到 Column Family 对应的 Memta转载 2013-02-18 16:17:57 · 616 阅读 · 0 评论 -
cassandra一致性等级
Cassandra采用了最终一致性。最终一致性是指分布式系统中的一个数据对象的多个副本尽管在短时间内可能出现不一致,但是经过一段时间之后,这些副本最终会达到一致。Cassandra 的一个特性是可以让用户指定每个读/插入/删除操作的一致性级别(consistency level)。Casssandra API 目前支持以下几种一致性级别:ZERO:只对插入或者删除操作有意义。负责执行操作的转载 2013-04-18 11:37:03 · 2507 阅读 · 0 评论 -
Cassandra Token的生成
Token是为数据中心中某一特定节点分配某一范围的数据的依据。当启动一个Cassandra的集群,必须选择数据在集群中节点是如何分布的。partitioner是根据数据的key来决定这行数据存储在哪个节点上。token是独立与partitioner的。每一个节点都会分配一个token,这个token决定了节点在环中的位置,以及哪些数据会存储在这个节点上。分配给节点的token需要分布在所有转载 2013-04-17 17:42:45 · 1278 阅读 · 0 评论 -
cassandra的token
token是cassandra里相当重要的一个概念,它是cassandra用来平衡集群内各节点负载的一个属性。cassandra里有不同的token分配策略,推荐采用默认的RandomPartitioner分区策略。在这个策略下,token是一个0~2的127次方之间的一个整数(这也意味着理论上cassandra可以支持2的127次方个节点)。之所以是2的127次方,是因为MD5 HASH固定输出转载 2013-04-17 16:41:53 · 4163 阅读 · 0 评论 -
cassandra虚拟节点
在1.2之前,必须为每个节点分配一个token,每个token决定了节点在集群环上的位置以及它负责保存的数据(根据主键hash值)。1.2版引入了虚拟节点,允许每个节点拥有多个小的hash范围。虚拟节点也使用一致性hash分布数据,但是不需要产生和分配token。虚拟节点提供了以下优点: 1.1 不必再为每个节点计算和分配token。 1.2转载 2013-04-17 16:18:57 · 2108 阅读 · 0 评论 -
有关Cassandra的数据划分
当启动一个Cassandra集群的时候,必须选择如何在集群中的不同节点之间划分数据。这是由Cassandra的partitioner来完成的。在Cassandra中,Cassandra所管理的数据构成了一个环。这个环根据节点的数量划分成相等的区间,这样一个节点就可以负责存储一个区间或者几个区间中的数据。在一个节点能够加入到环中之前,它必须被分配一个token(中文翻译为令牌)。token决转载 2013-04-17 17:50:50 · 1105 阅读 · 1 评论 -
cassandra集群配置
这里以两台机器A和B示例,它们的IP分别为192.168.20.1和192.168.20.2。 A的配置如下: cluster_name:'FirstCluster' seeds: "192.168.20.1,192.168.20.2" listen_address: 192.168.20.1转载 2013-04-02 15:28:48 · 1332 阅读 · 0 评论 -
Cassandra 为集群中的节点手动分配token
token 是Cassandra 集群中十分重要的概念,因为他影响着每个节点所管辖的数据的范围:我们就利用程序来生成token然后分配给每个节点:我们用下面的代码来生成token:#! /usr/bin/python import sys if (len(sys.argv) > 1): num=int(sys.argv[1]) else: num=int(raw_input("H转载 2013-04-17 16:32:50 · 1421 阅读 · 0 评论 -
详解CASSANDRA0.7配置文件
Cassandra中所有的运行配置都是在配置文件cassandra.yaml中进行配置。下面依次讲解Cassandra中的配置项:cluster_name设置Cassandra集群的名称。在Cassandra集群中,每一台服务器都必须具备相应的集群的名称。如果名称不一致,则当前Cassandra服务器无法加入集群。initial_tokenCassa转载 2013-04-17 16:24:31 · 596 阅读 · 0 评论 -
Cassandra部署策略
前言Cassandra 使用分布式哈希表(DHT)来确定存储某一个数据对象的节点。在 DHT 里面,负责存储的节点以及数据对象都被分配一个 token。token 只能在一定的范围内取值,比如说如果用 MD5 作为 token 的话,那么取值范围就是 [0, 2^128-1]。存储节点以及对象根据 token 的大小排列成一个环,即最大的 token 后面紧跟着最小的 token,比如对转载 2013-04-24 14:32:56 · 1030 阅读 · 0 评论 -
Replication Factor实现数据备份
集群配置完成后,插入数据,数据会分散到A、B节点上,也就是说:A节点存储的数据+B节点存储的数据=全部数据。如果希望两个节点都存储全部数据,也就是说成为备份服务器,可以在创建keyspace的时候设置[sql] view plaincopy'replication_factor': '2' 如下:转载 2013-04-12 14:32:23 · 2060 阅读 · 0 评论 -
Data Partitioning in Cassandra
Cassandra是一个分布式的数据库,具有较好的容灾性,在设计的时候,数据的分配就非常细的划分了以下几个层次: Cluster:逻辑上的集群的概念,包含多个Node。 DataCenter :数据中心,可以理解为是一个机房,包含多个Rack Rack : 机架,机架上包含多个Node Node : 可以理解为机器,每个Node上都需要标示转载 2013-04-12 17:38:24 · 1073 阅读 · 0 评论 -
Replica Placement Strategy(RPS)
replica placement strategy只是针对Keyspace而言的,将会决定这个Keyspace的replica如何分布到Cluster上。 SimpleStrategy 当用cassandra自带的cli创建了一个keyspace的时候SimpleStrategy是默认的RPS。当用代码创建的时候,需要指定这个参数。转载 2013-04-12 14:43:58 · 1297 阅读 · 0 评论 -
Windows下配置Cassandra
我的解压目录:E:\work\apache-cassandra-1.2.1修改conf\cassandra.yaml如下几个地方:data_file_directories: - E:\work\apache-cassandra-1.2.1\data注意:-后面的空格不能少,否则报错commitlog_directory: E:\work\apache-cassa转载 2013-02-18 14:03:55 · 878 阅读 · 0 评论 -
cassandra 端口
Cassandra是一个分布式数据存储平台,它基于网络来处理读/写请求,同时通过网络来进行节点间的数据备份。Cassandra对副本数据的选择策略是,同机架上节点的优先于不同机架上的节点。同个数据中心的节点优于不同数据中心的节点。 Cassandra使用如下端口,在实际生产环境中如果存在防火墙,必须确保同一集群中的节点可以通过这些端口互相访问。端转载 2013-04-18 11:45:26 · 4778 阅读 · 0 评论