Redis集群
Redis集群
配置Redis集群
关闭redis服务
[[email protected] ~]# /etc/init.d/redis_6379 stop
Stopping ...
Redis stopped
[[email protected] ~]# sysctl -w vm.overcommit_memory=1 #1表示内核允许分配所有的物理内存,而不管当前的内存状态如何。 0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。 2, 表示内核允许分配超过所有物理内存和交换空间总和的内存
vm.overcommit_memory = 1
[[email protected] ~]# mkdir /usr/local/rediscluster
[[email protected] ~]# cd /usr/local/rediscluster/
[[email protected] rediscluster]# mkdir 700{1..6}
[[email protected] rediscluster]# ls
7001 7002 7003 7004 7005 7006
[[email protected] rediscluster]# cd 7001/
[[email protected] 7001]# vim redis.conf
port 7001
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
pidfile "/usr/local/rediscluster/7001/redis.pid"
logfile "/usr/local/rediscluster/7001/redis.log"
daemonize yes
dir "/usr/local/rediscluster/7001"
[[email protected] 7001]# redis-server redis.conf
[[email protected] 7001]# netstat -antlp
[[email protected] 7001]# ps ax
[[email protected] 7001]# cp redis.conf ../7002/
[[email protected] 7001]# cp redis.conf ../7003/
[[email protected] 7001]# cp redis.conf ../7004/
[[email protected] 7001]# cp redis.conf ../7005/
[[email protected] 7001]# cp redis.conf ../7006/
[[email protected] rediscluster]# cd 7002/
[[email protected] 7002]# vim redis.conf
port 7002
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
pidfile "/usr/local/rediscluster/7002/redis.pid"
logfile "/usr/local/rediscluster/7002/redis.log"
daemonize yes
dir "/usr/local/rediscluster/7002"
其他相同方式
查看j进程
[[email protected] 7006]# ps ax
1054 ? Ssl 0:00 redis-server *:7001 [cluster]
1067 ? Ssl 0:00 redis-server *:7002 [cluster]
1074 ? Ssl 0:00 redis-server *:7003 [cluster]
1081 ? Ssl 0:00 redis-server *:7004 [cluster]
1087 ? Ssl 0:00 redis-server *:7005 [cluster]
1093 ? Ssl 0:00 redis-server *:7006 [cluster]
建立集群
[[email protected] redis-5.0.3]# redis-cli --cluster create --cluster-replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006
查看集群
[[email protected] redis-5.0.3]# redis-cli --cluster info 127.0.0.1:7001
127.0.0.1:7001 (70500b8b...) -> 0 keys | 5461 slots | 1 slaves.
127.0.0.1:7002 (994f0624...) -> 0 keys | 5462 slots | 1 slaves.
127.0.0.1:7003 (e27aab09...) -> 0 keys | 5461 slots | 1 slaves.
[OK] 0 keys in 3 masters.
0.00 keys per slot on average.
###添加节点
[[email protected] rediscluster]# mkdir 7007
[[email protected] rediscluster]# mkdir 7008
[[email protected] rediscluster]# cp 7001/redis.conf 7007/
[[email protected] rediscluster]# cp 7001/redis.conf 7008/
[[email protected] rediscluster]# vim 7007/redis.conf
[[email protected] 7007]# redis-server redis.conf
[[email protected] 7007]# cd ../7008/
[[email protected] 7008]# vim redis.conf
[[email protected] 7008]# redis-server redis.conf
查看
[[email protected] 7008]# ps -ax
1142 ? Ssl 0:00 redis-server *:7007 [cluster]
1148 ? Ssl 0:00 redis-server *:7008 [cluster]
#添加主节点
redis-cli --cluster add-node 127.0.0.1:7007 127.0.0.1:7001
#查看集群状态
[[email protected] 7008]# redis-cli --cluster check 127.0.0.1 7001
#给7007 添加从节点
[[email protected] 7008]# redis-cli --cluster add-node --cluster-slave --cluster-master-id b7bebaa271165214227476115053e328d7721ecc 127.0.0.1:7008 127.0.0.1:7007
#给7007分配哈希槽
[[email protected] 7008]# redis-cli --cluster reshard --cluster-from all --cluster-to b7bebaa271165214227476115053e328d7721ecc --cluster-slots 300 --cluster-yes 127.0.0.1:7001
#查看状态
[[email protected] 7008]# redis-cli --cluster check 127.0.0.1 7001
#平均分配哈希槽
[[email protected] 7008]# redis-cli --cluster rebalance --cluster-threshold 1 --cluster-use-empty-masters 127.0.0.1:7001
#查看状态
[[email protected] 7008]# redis-cli --cluster check 127.0.0.1 7001