Cassandra 集群配置
集群机制
一致性哈希(数据一致性)
Token
Range
Partitoner

Gossip协议(流言,无中心获取领导者)
用于在环内节点之间传播状态信息
周期运行,每次在环中随机挑选一个对象节点,发起会话
每次会话传送三条消息
Phi增量故障检测算法
Snitch(机架感知)
复制策略
Cassandra的数据存储
1) commit log: 保存对数据库的DML操作。记录的是操作动作,不是数据(redo)
· 进行写操作时,首先要写commit log
· 只有操作被写入 commit log 的数据,才算写入成功
· 当发生掉电,实例崩溃等问题的时候,可以使用commit log 进行回复
memtable:
· 数据操作成功写入到 commit log后,就开始写入内存中的memtable
· memtable中的数据达到一定阈值后,就开始写入硬盘中的 SSTable,然后内存中重新建立一个memtable接收下一批数据
· 上述刷写过程是非阻塞的
· 查询时先查询memtable
SSTable:
· 起源于Google的Bigtable
· 墓碑: 删除数据并不是物理删除,实际上打删除标记,软删除
· 压紧: 对用户透明,数据库自己控制。(墓碑打标记行删除 / 重建索引)
· Bloomfilter(布隆过滤器):相比其他的数据结构,Bloom Filter再空间和时间方面都有巨大的优势,Bloom Filter存储空间和插入/查询时间都是常数。另外,Hash函数相互之间没有关系,方便由硬件并行实现,Bloom Filter不需要存储元素本身,再某些对保密要求非常严格的场合有优势。
2) data:
3) saved_caches:
集群配置
安装JAVA环境
部署Cassandra安装包
修改Cassandra配置文件,设置集群名
规划IP地址,设置作为seed的IP
决定snitch
Cassandra还可以支持多数据中心集群
修改其它可能的配置
启动Cassandra并加入集群
安装过程: 节点1
一、安装JAVA
二、设置JAVA_HOME环境变量
三、解压Cassandra安装包
四、创建/var/lib/cassandra和/var/log/cassandra目录并改变属主,如果目录已经存在先进行清理
五、修改配置文件 conf/cassandra.yaml
cluster_name: 'cluster01'
num_tokens: 256
seeds: "192.168.1.100" --种子机
listen_address: 192.168.1.100
rpc_address: 192.168.1.100
rpc_port: 9160
rpc_keepalive: true
endpoint_snitch: SimpleSnitch --假设所有服务器都在一个机架
六、启动Cassandra
安装过程:节点2
一、安装过程与节点1类似
二、修改配置文件略有不同
三、Seeds写节点1的IP
四、启动节点2
副本放置策略
简单策略
旧网络拓扑策略(机架感知设定)
网络拓扑策略 (用户自己设定)
Snitch(指定机架结构)
· Simple Snitch:通过IP地址判断
· PropertyFileSnitch: 指定IP属于哪个数据中心,哪个机架
副本因子
创建keyspace时候指定
create keyspace excelsior with replication = {'class':'SimpleStrategy', 'replication_factor' : 3};
create keyspace "Excalibur" with replication = {'class':'NetworkTopologyStrategy','dc1':3,'dc2':2};
Cassandra 集群配置的更多相关文章
- 数据源管理 | 分布式NoSQL系统,Cassandra集群管理
本文源码:GitHub·点这里 || GitEE·点这里 一.Cassandra简介 1.基础描述 Cassandra是一套开源分布式NoSQL数据库系统.它最初由Facebook开发,用于储存收件箱 ...
- 基于docker创建Cassandra集群
一.概述 简介 Cassandra是一个开源分布式NoSQL数据库系统. 它最初由Facebook开发,用于储存收件箱等简单格式数据,集GoogleBigTable的数据模型与Amazon Dynam ...
- Ubuntu 14.04中Elasticsearch集群配置
Ubuntu 14.04中Elasticsearch集群配置 前言:本文可用于elasticsearch集群搭建参考.细分为elasticsearch.yml配置和系统配置 达到的目的:各台机器配置成 ...
- Redis 3.0 Cluster集群配置
Redis 3.0 Cluster集群配置 安装环境依赖 安装gcc:yum install gcc 安装zlib:yum install zib 安装ruby:yum install ruby 安装 ...
- MongoDB高可用集群配置的方案
>>高可用集群的解决方案 高可用性即HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性. ...
- MySQL Cluster 7.3.5 集群配置实例(入门篇)
一.环境说明: CentOS6.3(32位) + MySQL Cluster 7.3.5,规划5台机器,资料如下: 节点分布情况: MGM:192.168.137. NDBD1:192.168.137 ...
- MySQL Cluster 7.3.5 集群配置参数优化(优化篇)
按照前面的教程:MySQL Cluster 7.3.5 集群配置实例(入门篇),可快速搭建起基础版的MySQL Cluster集群,但是在生成环境中,还是有很多问题的,即配置参数需要优化下, 当前生产 ...
- 关于ActiveMQ的几种集群配置
ActiveMQ的几种集群配置. Queue consumer clusters 此集群让多个消费者同时消费一个队列,若某个消费者出问题无法消费信息,则未消费掉的消息将被发给其他正常的消费者,结构图如 ...
- solrCloud+tomcat+zookeeper集群配置
solrcolud安装solrCloud+tomcat+zookeeper部署 转载请出自出处:http://eksliang.iteye.com/blog/2107002 http://eksli ...
随机推荐
- win10电脑休眠后无法唤醒的解决办法
电脑的休眠功能,为长时间不用的电脑进行了关闭显示.硬盘停转的深度节能模式,不仅节约能源,还保护设备. 但有些时候也会出现一些问题,如休眠后无法唤醒,无法移动鼠标,敲击键盘都无效,最后只能长按电源键来强 ...
- Kubernetes网络隔离NetworkPolicy
Kubernetes要求集群中所有pod,无论是节点内还是跨节点,都可以直接通信,或者说所有pod工作在同一跨节点网络,此网络一般是二层虚拟网络,称为pod网络.在安装引导kubernetes时,由选 ...
- 【FFMPEG】网络流媒体协议
目录(?)[-] RTP RTCP SRTP SRTCP RTSP RTSP 和RTP的关系 SDP RTMPRTMPS mms HLS RTP 参考文档 RFC3550/RFC3 ...
- java中string , StringBuffer , StringBuilder 区别
1.String String变量的值不能改变,如果要改变String变量的值,虚拟机首先会遍历方法区中的字符串常量,如果存在需要的值,则虚拟机直接把此常量值的地址分配给String变量,如果不存在这 ...
- selenium webdriver学习(六)------------如何得到弹出窗口
selenium webdriver学习(六)------------如何得到弹出窗口 在selenium 1.X里面得到弹出窗口是一件比较麻烦的事,特别是新开窗口没有id.name的时候.当时还整理 ...
- tableau desktop
参考: 入门指南: https://help.tableau.com/current/guides/get-started-tutorial/zh-cn/get-started-tutorial-co ...
- 小记---------手动执行脚本正常执行,使用crontab定时执行时 不执行
可能出现的原因就是因为crontab不会从用户的/etc/profile文件中读取环境变量,所以就出现 使用定时crontab执行时 无法执行 抛错 所以在使用crontab 定时执行脚本时 在脚本 ...
- 如何使用 re模块的, spilt.
例: 这是一组 网卡的信息. 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopb ...
- mysql自增主键字段重排
不带外键模式的 mysql 自增主键字段重排 1.备份表结构 create table table_bak like table_name; 2.备份表数据 insert into table_bak ...
- redis windows 安装 下载 常用参数
下载地址 https://github.com/ServiceStack/redis-windows/tree/master/downloads 安装可视化工具 RedisDesktopManager ...