- Redis集群的搭建
- redis-cluster架构图
Redis-cluster投票:容错 ping-pong机制
注意:节点的fail 是通过集群中超过半数的节点检测失效时才生效
Redis-cluster把所有的物理节点映射到slot上,cluster负责维护
Nodeàslotàvalue
Redis集群中内置了16384个哈希槽,当需要redis集群中放置一个key-value时,redis先对key使用crc16算法算出一个结果,然后把结果对16384求余数,这样每一个key都会对应一个编号在0-16383之间的哈希槽,redis会根据节点数量大致均等的将哈希槽映射到不同的节点
- 基本概念:redis集群中至少应该有三个节点。
- 要保证集群的高可用,需要每个节点有一个备份机
- Redis集群至少需要6台服务器
- 搭建伪分布式。可以使用一台虚拟机运行6个redis实例。需要修改redis的端口号7001-7006
-
- Redis集群搭建步骤
- 首先创建redis-cluster文件夹:mkdir redis-cluster
- 将redis文件夹下面的bin目录复制到redis-cluster目录下的redis01文件夹下:cp redis/bin redis-cluster/redis01 -r
- 进入redis01文件夹后,将appendonly.aof文件以及dump.rdb文件(如果有的话)一起删除:rm –f XX.aof
- 修改端口号:vi redis.conf 修改端口号为7001,然后将cluster-enabled yes解开注释
- 复制六份到redis-cluster文件夹下:cp –r redis01/ redis02… 将端口号改为7002---7006
- 创建一个批处理文件,使其启动redis实例:vi start-all .sh
- 写上如下内容:cd redis01
./redis-server redis.conf
cd ..
cd redis02
./redis-server redis.conf
cd ..
……………
cd redis06
./redis-server redis.conf
cd ..
- 保存文件之后赋予权限:chmod u+x start-all.sh
- 执行该文件:./start-all.sh
- 查看运行状态:ps aux|grep redis
- 成功如截图:截图总是传不上去,请谅解!!!
- 返回redis-3.0.0目录下,进入src文件夹:cd src
- 查看*.rb文件:ll *.rb
- 将该文件复制redis-cluster:cp –r redis-trib.rb /usr/local/redis-cluster
- 安装ruby脚步运行环境:yum install ruby
- 安装ruby包管理器:yum install rubygems
- 将redis-3.0.0.gem文件放到虚拟机上,然后安装该文件:gem install redis-3..0.0.gem
成功如截图:截图总是传不上去,请谅解!!!
(18)执行如下命令(ip根据自己虚拟机ip):./redis-trib.rb create --replicas 1 192.168.25.128:7001 192.168.25.128:7002 192.168.25.128:7003 192.168.25.128:7004 192.168.25.128:7005 192.168.25.128:7006 然后选择yes集群就搭建完成了