目录
1.原理简述
此处的集群指的是Cluster, 通过分区/分片来实现一定程度的分布式与高可用部署。
2.集群配置
Redis 最小集群规划,需要包含至少三个主节点,此处测试部署具有三个主服务器和三个从服务器的六节点群集。计划是在一台机器上模拟一个集群,主节点端口7001,7002,7003, 从节点7004,7005,7006,这和生产环境的集群搭建没本质区别。
3.创建节点目录
[root@redis-1 ~]# mkdir -p /data/application/{7001,7002}
[root@redis-2 ~]# mkdir -p /data/application/{7003,7004}
[root@redis-3 ~]# mkdir -p /data/application/{7005,7006}
配置不同的节点及监听的端口、目录、端口区分并且对应起来。
[root@redis-1 ~]# cat /data/application/7001/redis.conf
port 7001
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
daemonize yes
bind 0.0.0.0
pidfile /data/application/7001/redis_7001.pid
dir /data/application/7001/data
4.启动服务(三台机器)
三台机器关闭防火墙和selinux
systemctl stop firewalld && setenforce 0
查看一下端口是否正常在监听状态
5.创建集群
注意ip和端口的对应
[root@redis-1 ~]# /data/application/redis-5.0.10/src/redis-cli --cluster create --cluster-replicas 1 192.168.18.135:7001 192.168.18.135:7002 192.168.18.137:7003 192.168.18.137:7004 192.168.18.138:7005 192.168.18.138:7006
6.集群测试
[root@redis-cluster redis-Cluster]# redis-cli -c -h 192.168.100.21 -p 7000 192.168.100.21:7000> set foo bar -> Redirected to slot [12182] located at 192.168.100.21:7002 OK 192.168.100.21:7002> get foo "bar" 192.168.100.21:7002> keys * 1) "foo" 192.168.100.21:7002> exit [root@redis-cluster redis-Cluster]# redis-cli -c -h 192.168.100.21 -p 7000 192.168.100.21:7000> keys * (empty list or set) 192.168.100.21:7000> get foo -> Redirected to slot [12182] located at 192.168.100.21:7002 "bar" 192.168.100.21:7002> |
7.查看集群节点状态
cat /data/application/7003/data/nodes.conf