【笔记】Redis集群搭建

前言

Redis集群搭建,既扩容,又保证高可用
本文以3主3从,一共6台redis服务器为例

每台Redis的配置

允许远程访问

  • 修改redis.conf配置文件第69行,添加注释
1
# bind 127.0.0.1 ::1

关闭保护模式

  • 修改redis.conf配置文件第88行,改为no
1
protected-mode no

定义端口号

  • 修改redis.conf配置文件第92行
1
port 7000

修改pid文件存放位置

1
pidfile /usr/local/src/redis/cluster/7000/redis.pid

修改持久化文件存放目录

1
dir /usr/local/src/redis/7000/

修改内存优化策略

1
maxmemory-policy volatile-lru

不启动AOF

1
appendonly no

开启集群配置

1
cluster-enabled yes

开启集群配置文件

1
cluster-config-file nodes.conf

配置集群超时时间

1
cluster-node-timeout 15000

批量配置

  • 为每一个服务器创建独立的目录
1
2
3
4
5
6
7
8
mkdir cluster
cd cluster
mkdir 7000
mkdir 7001
mkdir 7002
mkdir 7003
mkdir 7004
mkdir 7005
  • 将默认配置文件复制到每个目录下
1
2
3
4
5
6
cp /usr/local/src/redis/redis.conf 7000/redis.conf
cp /usr/local/src/redis/redis.conf 7001/redis.conf
cp /usr/local/src/redis/redis.conf 7002/redis.conf
cp /usr/local/src/redis/redis.conf 7003/redis.conf
cp /usr/local/src/redis/redis.conf 7004/redis.conf
cp /usr/local/src/redis/redis.conf 7005/redis.conf
  • 批量修改配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
vim 7001/redis.conf
:%s/7000/7001/g
:wq

vim 7002/redis.conf
:%s/7000/7002/g
:wq

vim 7003/redis.conf
:%s/7000/7003/g
:wq

vim 7004/redis.conf
:%s/7000/7004/g
:wq

vim 7005/redis.conf
:%s/7000/7005/g
:wq

启动与关闭

启动redis

编写启动脚本

1
vim start.sh
1
2
3
4
5
6
7
#!/bin/sh
redis-server 7000/redis.conf &
redis-server 7001/redis.conf &
redis-server 7002/redis.conf &
redis-server 7003/redis.conf &
redis-server 7004/redis.conf &
redis-server 7005/redis.conf &

批量启动redis

1
sh start.sh

启动集群

便携启动集群脚本

1
vim create.sh
1
redis-cli --cluster create --cluster-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

启动集群

1
sh create.sh
  • Can I set the above configuration?
1
yes

关闭redis

编写关闭脚本

1
vim stop.sh
1
2
3
4
5
6
7
#!/bin/sh
redis-cli -p 7000 shutdown &
redis-cli -p 7001 shutdown &
redis-cli -p 7002 shutdown &
redis-cli -p 7003 shutdown &
redis-cli -p 7004 shutdown &
redis-cli -p 7005 shutdown &

批量关闭redis

1
sh stop.sh

完成