Redis Cluster搭建和问题记录

安装

1、下载redis

1
wget http://download.redis.io/releases/redis-5.0.5.tar.gz

2、安装依赖

1
yum install gcc

3、编译redis

1
2
3
cd redis-5.0.5/
make MALLOC=libc
make install

4、将redis放到指定目录

1
cp -r /root/redis-5.0.5/ /opt/redis-master

5、修改redis配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
vi redis.conf
## 修改以下配置
# dir 默认配置是 ./ 是相对路径,对应的aof,rdb,nodes.conf文件会在执行启动命令时的目录下路径,需要改成绝对路径
dir /opt/redis-master/
# 以守护进程的方式启动
daemonize yes
# redis 端口号好
port 6381
# 去掉注释,开启集群
cluster-enabled yes
cluster-config-file nodes.conf
# 开启aof备份
appendonly yes

将以上配置文件复制6份,放到相应的路径下,修改配置文件中的端口号和dir的路径

最终修改完成后的redis信息如下:

服务器 redis路径 reids端口号
10.80.5.8 /opt/redis-master 6381
10.80.5.8 /opt/redis-slave 6382
10.80.5.9 /opt/redis-master 6381
10.80.5.9 /opt/redis-slave 6382
10.80.5.10 /opt/redis-master 6381
10.80.5.10 /opt/redis-slave 6382

6、添加redis的常用命令到环境变量中

1
2
3
cd /bin
ln -s /opt/redis-master/src/redis-server
ln -s /opt/redis-master/src/redis-cli

7、 启动redis

1
2
3
# 在三台服务器上执行
redis-server /opt/redis-master/redis.conf
redis-server /opt/redis-slave/redis.conf

8、启动集群

1
redis-cli --cluster create 10.80.5.8:6381 10.80.5.8:6382 10.80.5.9:6381 10.80.5.9:6382 10.80.5.10:6381 10.80.5.10:6382 --cluster-replicas 1

问题记录

redis.conf中的dir问题,设置成绝对路径比较好,如果是默认设置,则生成的aof,rbd,nodes.conf文件是在启动redis时的目录下生成,如果每次启动时所在路径不一致,会读取不到相应配置导致集群出错。

参考文章

  1. Redis Cluster集群
  2. 关于redis的主从、哨兵、集群