Redis集群及管理讲解
# lltotal 16
drwxr-xr-x 2 root root 4096 Sep 18 16:55 6000
drwxr-xr-x 2 root root 4096 Sep 18 17:26 6001
drwxr-xr-x 2 root root 4096 Sep 18 16:55 6002
drwxr-xr-x 2 root root 4096 Sep 18 17:23 6003
# mkdir 6004
# cp 6003/redis.conf6004/
# cd 6004/
# vim redis.conf
# /application/redis-3.2.3/bin/redis-server/application/redis_cluster/6004/redis.conf
# netstat -lnupt|grep redis
tcp 0 0 127.0.0.1:16000 0.0.0.0:* LISTEN 2648/redis-server 1
tcp 0 0 127.0.0.1:16001 0.0.0.0:* LISTEN 2650/redis-server 1
tcp 0 0 127.0.0.1:16002 0.0.0.0:* LISTEN 2656/redis-server 1
tcp 0 0 127.0.0.1:16003 0.0.0.0:* LISTEN 2752/redis-server 1
tcp 0 0 127.0.0.1:16004 0.0.0.0:* LISTEN 2814/redis-server 1
tcp 0 0 127.0.0.1:6000 0.0.0.0:* LISTEN 2648/redis-server 1
tcp 0 0 127.0.0.1:6001 0.0.0.0:* LISTEN 2650/redis-server 1
tcp 0 0 127.0.0.1:6002 0.0.0.0:* LISTEN 2656/redis-server 1
tcp 0 0 127.0.0.1:6003 0.0.0.0:* LISTEN 2752/redis-server 1
tcp 0 0 127.0.0.1:6004 0.0.0.0:* LISTEN 2814/redis-server 1
#
将实例6004作为6000的从添加到集群中
/application/redis-3.2.3/bin/redis-trib.rb add-node --slave 127.0.0.1:6004 127.0.0.1:6000
# /application/redis-3.2.3/bin/redis-trib.rb add-node --slave 127.0.0.1:6004 127.0.0.1:6000
>>> Adding node 127.0.0.1:6004 to cluster 127.0.0.1:6000
>>> Performing Cluster Check (using node 127.0.0.1:6000)
M: 0a0b1e7fc91160fe0d0916d44f26c3ae4c094bac 127.0.0.1:6000
slots:1000-5460 (4461 slots) master
0 additional replica(s)
M: a91ba0a1ebde74ebf3867ade0b317a8ad7bb5c9b 127.0.0.1:6002
slots:10923-16383 (5461 slots) master
0 additional replica(s)
M: 2cf8fbb551b29215d08b151273836ccef0a0eb4d 127.0.0.1:6003
slots:0-999 (1000 slots) master
0 additional replica(s)
M: 9a59aa20306cf70a47623acf1e96d1f2f2266823 127.0.0.1:6001
slots:5461-10922 (5462 slots) master
0 additional replica(s)
All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
All 16384 slots covered.
Automatically selected master 127.0.0.1:6000
>>> Send CLUSTER MEET to node 127.0.0.1:6004 to make it join the cluster.
Waiting for the cluster to join....
>>> Configure node as replica of 127.0.0.1:6000.
New node added correctly.
#
127.0.0.1:6000> cluster nodes
9a59aa20306cf70a47623acf1e96d1f2f2266823 127.0.0.1:6001 master - 0 1474191913446 2 connected 5461-10922
2cf8fbb551b29215d08b151273836ccef0a0eb4d 127.0.0.1:6003 master - 0 1474191909396 4 connected 0-999
b8028a898ab08be839a331e94728973c60a7f50c 127.0.0.1:6004 slave 0a0b1e7fc91160fe0d0916d44f26c3ae4c094bac 0 1474191911419 1 connected
a91ba0a1ebde74ebf3867ade0b317a8ad7bb5c9b 127.0.0.1:6002 master - 0 1474191912430 3 connected 10923-16383
0a0b1e7fc91160fe0d0916d44f26c3ae4c094bac 127.0.0.1:6000 myself,master - 0 0 1 connected 1000-5460
127.0.0.1:6000>
从以上输出发现6004已经成为了6000的从实例,我们现在试试在从节点6004上面做set操作:
# redis-cli -c -p 6004
127.0.0.1:6004> set k1 v1
-> Redirected to slot located at 127.0.0.1:6002
OK
127.0.0.1:6002> exit
# redis-cli -c -p 6004
127.0.0.1:6004> get k1
-> Redirected to slot located at 127.0.0.1:6002
"v1"
127.0.0.1:6002> exit
#
页:
[1]