Redis集群之Cluster模式安装搭建

前提:已经安装好redis单机版。

当集群中超过或等于1/2节点不可用时,整个集群不可用。为了搭建稳定集群,都采用奇数节点。

1 .复制redis配置文件

从/usr/local/redis/bin下把redis.conf复制到当前目录中,命名为redis-7001.conf

# cp /usr/local/redis/bin/redis.conf /usr/local/redis/bin/redis-7001.conf

2. 修改redis-7001.conf

# cd /usr/local/redis/bin
# vim redis-7001.conf

需要修改如下:

port 7001
cluster-enabled yes
cluster-config-file nodes-7001.conf
cluster-node-timeout 15000
# appendonly yes 如果开启aof默认,需要修改为yes。如果使用rdb,此处不需要修改
daemonize yes
protected-mode no
pidfile /var/run/redis_7001.pid

3 .复制配置文件,并修改内容

把redis-7001.conf 复制5份,分别叫做redis-7002.conf、redis-7003.conf、redis-7004.conf、redis-7005.conf、redis-7006.conf

# cp redis-7001.conf redis-7002.conf
# cp redis-7001.conf redis-7003.conf
# cp redis-7001.conf redis-7004.conf
# cp redis-7001.conf redis-7005.conf
# cp redis-7001.conf redis-7006.conf
新复制的5个配置文件都需要需改三处。

例如nodes-7002.conf中需要把所有7001都换成7002。

可以使用 :%s/7001/7002/g 进行全局修改。

port 7002
cluster-config-file nodes-7002.conf
pidfile /var/run/redis_7002.pid

4 .启动6个redis

可以使用redis-server结合6个配置文件进行启动6个实例。

执行之前一定要先删除dump.rdb

# rm -f dump.rdb
# vim startup.sh

./redis-server redis-7001.conf
./redis-server redis-7002.conf
./redis-server redis-7003.conf
./redis-server redis-7004.conf
./redis-server redis-7005.conf
./redis-server redis-7006.conf


# chmod a+x startup.sh
# ./startup.sh

5. 查看启动状态

# ps aux|grep redis

redis sentinel 集群配置 redis配置集群模式_redis

6. 建立集群

在redis3的时候需要借助ruby脚本实现集群。在redis5中可以使用自带的redis-cli实现集群功能,比redis3的时候更加方便。
其中 --cluster-replicas 1 表示 一个master后有几个slave,1表示一个slave。
建议配置静态ip,ip改变集群失效

./redis-cli --cluster create 192.168.93.10:7001 192.168.93.10:7002 192.168.93.10:7003 192.168.93.10:7004 192.168.93.10:7005 192.168.93.10:7006 --cluster-replicas 1

7. 测试

集群测试时,千万不要忘记最后一个-c参数。

# ./redis-cli -p 7001 -c
# set age 18

可根据cluster nodes

# ./redis-cli -p 7001 -c
# cluster nodes

8 .编写关闭脚本

# vim stop.sh
# chmod a+x stop.sh

./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-cli -p 7006 shutdown