集群概述
集群管理流程
Redis3.0版本之后支持Cluster.
redis cluster的现状
目前redis支持的cluster特性:
1):节点自动发现
2):slave->master选举,集群容错
3):Hotresharding:在线分片
4):进群管理:cluster xxx
5):基于配置(nodes-port.conf)的集群管理
6):ASK 转向/MOVED 转向机制.
redis cluster 架构
redis-cluster架构图
架构细节:
(1)所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽.
(2)节点的fail是通过集群中超过半数的节点检测失效时才生效.
(3)客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可
(4)redis-cluster把所有的物理节点映射到[0-16383]slot上,cluster 负责维护node<->slot<->value
redis-cluster选举:容错
(1)领着选举过程是集群中所有master参与,如果半数以上master节点与master节点通信超过(cluster-node-timeout),认为当前master节点挂掉.
(2):什么时候整个集群不可用(cluster_state:fail),当集群不可用时,所有对集群的操作做都不可用,收到((error) CLUSTERDOWN The cluster is down)错误
a:如果集群任意master挂掉,且当前master没有slave.集群进入fail状态,也可以理解成进群的slot映射[0-16383]不完成时进入fail状态.
b:如果进群超过半数以上master挂掉,无论是否有slave集群进入fail状态.
1.下载并解压
cd /home/pass
wgethttp://download.redis.io/releases/redis-4.0.2.tar.gz
tar -zxvfredis-4.0.2.tar.gz
2. 编译安装
cd redis-4.0.2
mkdir -p /home/pass/redis-cluster/redis-4.0.2/conf
make&& make PREFIX= /home/pass/redis-cluster/redis-4.0.2 install
3. 测试一下安装是否成功
/home/pass/redis-cluster/redis-4.0.2/bin/redis-server
4.创建配置文件
vi/home/pass/redis-cluster/redis-4.0.2/conf/redis.conf
daemonize yes #redis后台运行