Redis集群部署
|Word count:774|Reading time:3min|Post View:
之前介绍过《Docker部署可用于生产环境的Redis集群》,本篇再补充一下在没有Docker环境
的前提下,部署Redis集群。
环境要求及准备
如果没有安装Development Tools
的话,需要先安装一下:
1
| yum groupinstall 'Development Tools'
|
部署规划
服务器IP |
7000节点 |
7001节点 |
7002节点 |
10.10.11.54 |
Y |
Y |
Y |
10.10.11.55 |
Y |
Y |
Y |
编译安装
解压
1
| mdkdir /usr/local/redis && tar -zxvf redis-5.0.13.tar.gz -C /usr/local/redis
|
编译并安装
1 2 3 4 5
| cd /usr/local/redis/redis-5.0.13/deps; make hiredis lua jemalloc linenoise
cd /usr/local/redis/redis-5.0.13 make && make install
|
创建Redis节点配置
创建Redis相关目录
1 2 3 4
| mkdir -p /data/redis
mkdir -p /data/redis/redis-700{0..2}/data mkdir -p /data/redis/redis-700{0..2}/conf
|
创建redis配置模板
1
| touch /data/redis/redis-cluster.tmpl
|
填写如下内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| port ${PORT}
protected-mode no
daemonize yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 10.10.11.54
cluster-announce-port ${PORT}
cluster-announce-bus-port 1${PORT}
appendonly yes
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 5120mb
save ""
|
创建各节点的配置文件
1 2 3
| for port in `seq 7000 7002`; do \ PORT=${port} envsubst < /data/redis/redis-cluster.tmpl > /data/redis/redis-${port}/conf/redis.conf; \ done
|
创建Redis集群
启动各节点的Redis实例
1 2 3 4 5
| cd /data/redis/redis-7000/data/ && redis-server /data/redis/redis-7000/conf/redis.conf;
cd /data/redis/redis-7001/data/ && redis-server /data/redis/redis-7001/conf/redis.conf;
cd /data/redis/redis-7002/data/ && redis-server /data/redis/redis-7002/conf/redis.conf;
|
如果redis-server
不存在,可以将路径写全为:/usr/local/redis/redis-5.0.13/src/redis-server
。如果配置了cluster-config-file
的绝对路径,也可以使用下面的方式启动(如果不熟悉的话不太建议):
1 2 3
| for port in `seq 7000 7002`; do \ PORT=${port} /usr/local/redis/redis-5.0.13/src/redis-server /data/redis/redis-${port}/conf/redis.conf; \ done
|
创建集群
1
| redis-cli --cluster create 10.10.11.54:7000 10.10.11.54:7001 10.10.11.54:7002 10.10.11.55:7000 10.10.11.55:7001 10.10.11.55:7002 --cluster-replicas 1
|
- cluster-replicas 从节点个数,1表示每个主节点需要1个从节点,目前的规模是
三主三从
。
检查Redis集群
1 2 3 4
| redis-cli -h 10.10.11.54 -p 7000
CLUSTER INFO
|