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

Redis集群

[[email protected] 7001]# ps ax

Redis集群

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

Redis集群
建立集群

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

Redis集群
查看集群

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

Redis集群
###添加节点

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

Redis集群
#查看集群状态

[[email protected] 7008]# redis-cli --cluster check 127.0.0.1 7001

Redis集群
#给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

Redis集群

#给7007分配哈希槽

[[email protected] 7008]# redis-cli --cluster reshard --cluster-from all --cluster-to b7bebaa271165214227476115053e328d7721ecc --cluster-slots 300 --cluster-yes 127.0.0.1:7001

Redis集群
Redis集群
#查看状态

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

Redis集群
#查看状态

[[email protected] 7008]# redis-cli --cluster check 127.0.0.1 7001

Redis集群