redis 集群部署
源码安装
-
配置开启集群节点
-
配置
meet
-
指派槽
-
配置主从
编译配置文件 /etc/redis/cluster-redis-7001.conf
,
bind 0.0.0.0
port 7001
daemonize yes# 允许任何地址不使用密码访问我
protected-mode no
dir "/redis/data/"
logfile "cluster-7001.log"
dbfilename "cluster-dump-7001.log"
cluster-enabled yes
cluster-config-file cluster-redis-7001.conf# 不需要集群的全部节点完好才提供服务
cluster-require-full-coverage no
创建其他集群配置文件
[root@s1 redis]# sed 's/7001/7002/g' cluster-redis-7001.conf > cluster-redis-7002.conf
[root@s1 redis]# sed 's/7001/7003/g' cluster-redis-7001.conf > cluster-redis-7003.conf
[root@s1 redis]# sed 's/7001/7011/g' cluster-redis-7001.conf > cluster-redis-7011.conf
[root@s1 redis]# sed 's/7001/7012/g' cluster-redis-7001.conf > cluster-redis-7012.conf
[root@s1 redis]# sed 's/7001/7013/g' cluster-redis-7001.conf > cluster-redis-7013.conf
拷贝节点给另一台主机
启动主节点
[root@s1 ~]# redis-server /etc/redis/cluster-redis-7001.conf
[root@s1 ~]# redis-server /etc/redis/cluster-redis-7002.conf
[root@s1 ~]# redis-server /etc/redis/cluster-redis-7003.conf
启动从节点的服务
[root@s2 ~]# mkdir -p /redis/data
[root@s2 ~]# redis-server /etc/redis/cluster-redis-7011.conf
[root@s2 ~]# redis-server /etc/redis/cluster-redis-7012.conf
[root@s2 ~]# redis-server /etc/redis/cluster-redis-7013.conf
加入节点
redis-cli --cluster create --cluster-replicas 1 主节点1的IP:端口 主节点2的IP:端口 主节点3的IP:端口 从节点1的IP:端口 从节点2的IP:端口 从节点3的IP:端口
添加新节点为从节点
redis-trib.rb add-node --slave --master-id 主节点的 ID new_host:new_port existing_host:existing_port
redis-trib.rb check host:port// host:port 为集群中任意节点的信息