一、Redis单个节点安装部署
下载:
wget http://download.redis.io/releases/redis-3.2.12.tar.gz解压:
tar xzf redis-3.2.12.tar.gzmv redis-3.2.12 redis
安装
yum -y install gcc automake autoconf libtool makecd redismake配置环境变量
vim /etc/profileexport PATH=/data/redis/src:$PATHsource /etc/profile
启动
redis-server &连接测试
redis-cli127.0.0.1:6379> set num 10OK127.0.0.1:6379> get num10
二、redis cluster
介绍
高性能
1、在多分片节点中,将16384个槽位,均匀分布到多个分片节点中
2、存数据时,将key做crc16(key),然后和16384进行取模,得出槽位值(0-16383之间)
3、根据计算得出的槽位值,找到相对应的分片节点的主节点,存储到相应槽位上
4、如果客户端当时连接的节点不是将来要存储的分片节点,分片集群会将客户端连接切换至真正存储节点进行数据存储
高可用
在搭建集群时,会为每一个分片的主节点,对应一个从节点,实现slaveof的功能,同时当主节点down,实现类似于sentinel的自动failover的功能。
1、redis会有多组分片构成(3组)
2、redis cluster 使用固定个数的slot存储数据(一共16384slot)
3、每组分片分得1/3 slot个数(0-5500 5501-11000 11001-16383)
4、基于CRC16(key) % 16384 ====》值 (槽位号)。
安装部署
安装集群插件
EPEL源安装ruby支持yum install ruby rubygems -y使用国内源gem sources -lgem sources -a http://mirrors.aliyun.com/rubygems/gem sources --remove https://rubygems.org/gem sources -lgem install redis -v 3.3.3
集群节点准备
创建7000~~7005六个节点mkdir /data/700{0..5}cat > data/7000/redis.conf <<EOFport 7000daemonize yespidfile /data/7000/redis.pidloglevel noticelogfile "/data/7000/redis.log"dbfilename dump.rdbdir /data/7000protected-mode nocluster-enabled yescluster-config-file nodes.confcluster-node-timeout 5000appendonly yesEOF将以上配置文件复制出6份,端口需不同
将节点加入集群管理
redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 \127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
集群状态查看
集群主节点状态
redis-cli -p 7000 cluster nodes | grep master集群从节点状态
redis-cli -p 7000 cluster nodes | grep slave
文章转载自VFrog,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




