部署环境
- CentOS Linux release 7.5.1804
- Redis 5.0.5
下面测试服务仅由一台服务器搭建完成,线上业务请根据需求进行部署搭建。
注: redis5 搭建redis cluster不再需要额外ruby 语言,可以直接通过redis自身服务来部署。
结构图:
部署搭建
下载redis源码包:
- 国内下载地址:
wget https://down.niknk.com/Redis/redis-5.0.5.tar.gz
- 官方下载地址:
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
解压源码包并编译redis:
tar xf redis-5.0.5.tar.gz
mkdir /opt/redis -p
mv redis-5.0.5 /opt/redis/
ln -s /opt/redis/redis-5.0.5/ /usr/local/redis
cd /usr/local/redis/
make && make install
mkdir /data/redis/redis_700{1..6} -p
拷贝配置文件并配置:
cd /data/redis/redis_7001/
cp /usr/local/redis/redis.conf .
通过VIM 编辑redis_7001目录下的配置文件:
# 根据线上需求监听IP绑定
bind 127.0.0.1
protected-mode yes
# 配置端口
port 7001
# 允许守护进程运行
daemonize yes
# PID文件运行路径
pidfile /data/redis/redis_7001/redis_7001.pid
# 日志输出级别
loglevel notice
# 日志文件路径
logfile "/data/redis/redis_7001/redis_7001.log"
# redis 服务数据保存路径
dir /data/redis/redis_7001/
# 开启数据持久化
appendonly yes
# 持久化数据文件名
appendfilename "appendonly.aof"
# 每秒钟写入一次
appendfsync everysec
# 配置Redis Cluster
cluster-enabled yes
cluster-config-file nodes-7001.conf
cluster-node-timeout 15000
单节点多端口配置方式:
通过配置一个节点后,在配置文件当前目录下进行该操作。
for i in `echo {7002..7006}`;do cp redis.conf /data/redis/redis_${i};done
for i in `echo {7002..7006}`;do sed -i "s@7001@${i}@g" /data/redis/redis_${i}/redis.conf;done
启动redis 服务:
- 单个端口启动方法
/usr/local/redis/src/redis-server /data/redis/redis_7001/redis.conf
- 多端口启动方法
for i in `echo {7001..7006}`;do /usr/local/redis/src/redis-server \
/data/redis/redis_${i}/redis.conf;done
配置redis cluster集群:
redis-cli --cluster create \
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 127.0.0.1:7006 \
--cluster-replicas 1
–cluster-replicas 1 指:主从比例为 1:1
- 提示操作
Can I set the above configuration? (type 'yes' to accept): #该处直接输入yes 即可
# 成功后输出下列信息即可:
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
其它操作
Redis相关操作:
- 查看Redis Cluster信息
CLUSTER INFO
- 查看Redis Cluster节点
CLUSTER NODES