Redis集群部署

47 阅读2分钟

大部分的应用系统中只需要部署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/*