大部分的应用系统中只需要部署3主3从的Redis集群即可满足。
下面是在两台服务器上部署的示例。
1、下载地址
http://download.redis.io/releases/redis-5.0.5.tar.gz
2、创建部署目录
mkdir /opt/redis
3、创建配置、数据、日志、运行、节点、脚本目录
mkdir -p /opt/redis/cluster/{conf,data,log,run,node,bin}
4、在数据目录下为各实例创建目录
mkdir -p /opt/redis/cluster/data/{redis-6379,redis-6380,redis-6381}
5、解压安装包到部署目录下
tar -xzvf redis-5.0.5.tar.gz -C /opt/redis/
6、编译出二进制可执行文件
cd /opt/redis/redis-5.0.5
make
7、为各实例创建配置文件
在两台服务器上,都创建如下三个配置文件:
/opt/redis/cluster/conf/redis-6379.conf
bind 0.0.0.0
port 6379
# 后台运行
daemonize yes
# 数据目录
dir /opt/redis/cluster/data/redis-6379
# 日志文件
logfile /opt/redis/cluster/log/6379.log
# pid文件
pidfile /opt/redis/cluster/run/redis_6379.pid
# 配置密码
requirepass iN@EhGm@xk9B
# 开启集群,指定的文件在首次启动时会自动生成
cluster-enabled yes
cluster-node-timeout 10000
cluster-config-file /opt/redis/cluster/node/6379.conf
# 开启AOF持久化
appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec
/opt/redis/cluster/conf/redis-6380.conf
bind 0.0.0.0
port 6380
# 后台运行
daemonize yes
# 数据目录
dir /opt/redis/cluster/data/redis-6380
# 日志文件
logfile /opt/redis/cluster/log/6380.log
# pid文件
pidfile /opt/redis/cluster/run/redis_6380.pid
# 配置密码
requirepass iN@EhGm@xk9B
# 开启集群,指定的文件在首次启动时会自动生成
cluster-enabled yes
cluster-node-timeout 10000
cluster-config-file /opt/redis/cluster/node/6380.conf# 开启AOF持久化
appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec
/opt/redis/cluster/conf/redis-6381.conf
bind 0.0.0.0
port 6381
# 后台运行
daemonize yes
# 数据目录
dir /opt/redis/cluster/data/redis-6381
# 日志文件
logfile /opt/redis/cluster/log/6381.log# pid文件
pidfile /opt/redis/cluster/run/redis_6381.pid
# 配置密码
requirepass iN@EhGm@xk9B
# 开启集群,指定的文件在首次启动时会自动生成
cluster-enabled yes
cluster-node-timeout 10000
cluster-config-file /opt/redis/cluster/node/6381.conf# 开启AOF持久化
appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec
8、启动所有实例
在两台服务器上都要执行:
/opt/redis/redis-5.0.5/src/redis-server /opt/redis/cluster/conf/redis-6379.conf
/opt/redis/redis-5.0.5/src/redis-server /opt/redis/cluster/conf/redis-6380.conf
/opt/redis/redis-5.0.5/src/redis-server /opt/redis/cluster/conf/redis-6381.conf
9、查看实例状态
登录命令:
/opt/redis/redis-5.0.5/src/redis-cli -p 6379 -c -a iN@EhGm@xk9B
查看命令:
cluster nodes
info replication
10、关联集群节点
按照 从主到从 的方式 从左到右 依次排列 6 个 redis 节点。
/opt/redis/redis-5.0.5/src/redis-cli -a 'iN@EhGm@xk9B' --cluster create 192.168.1.1:6379 192.168.1.2:6379 192.168.1.1:6380 192.168.1.2:6380 192.168.1.1:6381 192.168.1.2:6381 --cluster-replicas 1
12、配置脚本
/opt/redis/cluster/bin/stop_all.sh
ps -ef | grep redis-server | grep -v grep | awk '{print $2}' | xargs kill -9
/opt/redis/cluster/bin/start_all.sh
/opt/redis/redis-5.0.5/src/redis-server /opt/redis/cluster/conf/redis-6379.conf
/opt/redis/redis-5.0.5/src/redis-server /opt/redis/cluster/conf/redis-6380.conf
/opt/redis/redis-5.0.5/src/redis-server /opt/redis/cluster/conf/redis-6381.conf
ps -ef | grep redis-server
11、重装redis
rm -rf node/* data/*/* log/* run/*