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
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