下载

Redis官网上下载源码

image-20210826110934758

下载后是以tar.gz结尾的压缩包

上传到服务器上,运行命令:tar -zxvf redis-xxx.tar.gz进行解压缩

编译

下载下来的源码需要编译进行安装。

首先安装必要环境:

1
2
yum -y install gcc automake autoconf libtool make
yum install gcc gcc-c++

进入redis源码目录,运行

1
make

成功后进行安装

1
make install

安装结果:

image-20210826111516353

安装目录在/usr/local/bin

启动单机版

首先先进入源码目录获取到redis.conf

image-20210826111800307

这个文件是redis的配置文件,我们修改下

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
bind 0.0.0.0
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
# daemonize:yes:redis采用的是单进程多线程的模式。当redis.conf中选项daemonize设置成yes时,代表开启守护进程模式。在该模式下,redis会在后台运行,并将进程pid号写入至redis.conf选项pidfile设置的文件中,此时redis将一直运行,除非手动kill该进程。
# daemonize:no: 当daemonize选项设置成no时,当前界面将进入redis的命令行界面,exit强制退出或者关闭连接工具(putty,xshell等)都会导致redis进程退出。
daemonize no
pidfile /var/run/redis_6379.pid

# Specify the server verbosity level.
# This can be one of:
# debug (a lot of information, useful for development/testing)
# verbose (many rarely useful info, but not a mess like the debug level)
# notice (moderately verbose, what you want in production probably)
# warning (only very important / critical messages are logged)
loglevel verbose

logfile ""

databases 16

always-show-logo no
# 修改进程标题以显示一些运行时信息
set-proc-title yes
proc-title-template "{title} {listen-addr} {server-mode}"

save 5 2

# stop-writes-on-bgsave-error 选项
# 如果 = yes : redis 会创建一个新的后台进程dump rdb。
# 假设 :创建快照(硬盘上,产生一个新的rdb文件)需要 20s时间,redis主进程,在这20s内,会继续接受客户端命令,但是,就在这20s,内,创建快照!!!,出错了,比如磁盘满了,那么redis会认为,
# 当前!!!,Redis is configured to save RDB snapshots, but is currently not able to persist on disk. but is currently not able to persist on disk.
# 那么,redis会,拒绝 新的写入,也就是说,它认为,你当下,持久化数据出现了问题,你就不要再set啦。
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump6379.rdb
rdb-del-sync-files no
dir ./
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-diskless-load disabled
repl-disable-tcp-nodelay no
replica-priority 100
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
lazyfree-lazy-user-del no
lazyfree-lazy-user-flush no
oom-score-adj no
oom-score-adj-values 0 200 800
disable-thp yes
# AOF
appendonly yes
appendfilename "appendonly6379.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes
jemalloc-bg-thread yes

启动服务端:

1
redis-server /home/itning/redis.conf

远程连接别忘记关闭防火墙:

1
systemctl stop firewalld.service && systemctl disable firewalld.service

主从模式

主从模式,主节点允许读写,从节点只允许读。

修改主节点配置文件:

禁用RDB和AOF

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
bind 0.0.0.0
port 8000
tcp-backlog 511
timeout 0
tcp-keepalive 300
# daemonize:yes:redis采用的是单进程多线程的模式。当redis.conf中选项daemonize设置成yes时,代表开启守护进程模式。在该模式下,redis会在后台运行,并将进程pid号写入至redis.conf选项pidfile设置的文件中,此时redis将一直运行,除非手动kill该进程。
# daemonize:no: 当daemonize选项设置成no时,当前界面将进入redis的命令行界面,exit强制退出或者关闭连接工具(putty,xshell等)都会导致redis进程退出。
daemonize no
pidfile /var/run/redis_8000.pid

# Specify the server verbosity level.
# This can be one of:
# debug (a lot of information, useful for development/testing)
# verbose (many rarely useful info, but not a mess like the debug level)
# notice (moderately verbose, what you want in production probably)
# warning (only very important / critical messages are logged)
loglevel verbose

logfile ""

databases 16

always-show-logo no
# 修改进程标题以显示一些运行时信息
set-proc-title yes
proc-title-template "{title} {listen-addr} {server-mode}"

#save 5 2

# stop-writes-on-bgsave-error 选项
# 如果 = yes : redis 会创建一个新的后台进程dump rdb。
# 假设 :创建快照(硬盘上,产生一个新的rdb文件)需要 20s时间,redis主进程,在这20s内,会继续接受客户端命令,但是,就在这20s,内,创建快照!!!,出错了,比如磁盘满了,那么redis会认为,
# 当前!!!,Redis is configured to save RDB snapshots, but is currently not able to persist on disk. but is currently not able to persist on disk.
# 那么,redis会,拒绝 新的写入,也就是说,它认为,你当下,持久化数据出现了问题,你就不要再set啦。
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump8000.rdb
rdb-del-sync-files no
dir ./
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-diskless-load disabled
repl-disable-tcp-nodelay no
replica-priority 100
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
lazyfree-lazy-user-del no
lazyfree-lazy-user-flush no
oom-score-adj no
oom-score-adj-values 0 200 800
disable-thp yes
# AOF
appendonly no
appendfilename "appendonly8000.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes
jemalloc-bg-thread yes

修改从节点,加入主节点信息

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
bind 0.0.0.0
port 8001
tcp-backlog 511
timeout 0
tcp-keepalive 300
# daemonize:yes:redis采用的是单进程多线程的模式。当redis.conf中选项daemonize设置成yes时,代表开启守护进程模式。在该模式下,redis会在后台运行,并将进程pid号写入至redis.conf选项pidfile设置的文件中,此时redis将一直运行,除非手动kill该进程。
# daemonize:no: 当daemonize选项设置成no时,当前界面将进入redis的命令行界面,exit强制退出或者关闭连接工具(putty,xshell等)都会导致redis进程退出。
daemonize no
pidfile /var/run/redis_8001.pid

# Specify the server verbosity level.
# This can be one of:
# debug (a lot of information, useful for development/testing)
# verbose (many rarely useful info, but not a mess like the debug level)
# notice (moderately verbose, what you want in production probably)
# warning (only very important / critical messages are logged)
loglevel verbose

logfile ""

databases 16

always-show-logo no
# 修改进程标题以显示一些运行时信息
set-proc-title yes
proc-title-template "{title} {listen-addr} {server-mode}"

save 5 2

# stop-writes-on-bgsave-error 选项
# 如果 = yes : redis 会创建一个新的后台进程dump rdb。
# 假设 :创建快照(硬盘上,产生一个新的rdb文件)需要 20s时间,redis主进程,在这20s内,会继续接受客户端命令,但是,就在这20s,内,创建快照!!!,出错了,比如磁盘满了,那么redis会认为,
# 当前!!!,Redis is configured to save RDB snapshots, but is currently not able to persist on disk. but is currently not able to persist on disk.
# 那么,redis会,拒绝 新的写入,也就是说,它认为,你当下,持久化数据出现了问题,你就不要再set啦。
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump8001.rdb
rdb-del-sync-files no
dir ./
replicaof 192.168.32.128 8000
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-diskless-load disabled
repl-disable-tcp-nodelay no
replica-priority 100
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
lazyfree-lazy-user-del no
lazyfree-lazy-user-flush no
oom-score-adj no
oom-score-adj-values 0 200 800
disable-thp yes
# AOF
appendonly yes
appendfilename "appendonly8001.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes
jemalloc-bg-thread yes

启动主节点:

1
redis-server /home/itning/redis-master.conf

启动从节点:

1
redis-server /home/itning/redis-replication.conf

获取主从信息:

1
info replication
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
192.168.32.128:0>info replication
"# Replication
role:master
connected_slaves:1
slave0:ip=192.168.32.128,port=8001,state=online,offset=784,lag=1
master_failover_state:no-failover
master_replid:a7905fd0bdd249c58b7a96b1f5ccd42401b698de
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:784
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:784
"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
192.168.32.128:0>info replication
"# Replication
role:slave
master_host:192.168.32.128
master_port:8000
master_link_status:up
master_last_io_seconds_ago:9
master_sync_in_progress:0
slave_repl_offset:1260
slave_priority:100
slave_read_only:1
replica_announced:1
connected_slaves:0
master_failover_state:no-failover
master_replid:a7905fd0bdd249c58b7a96b1f5ccd42401b698de
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:1260
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:1260
"

哨兵模式

3台哨兵+1主1从

哨兵配置:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
bind 0.0.0.0
port 18000
daemonize no
pidfile /var/run/redis-sentinel18000.pid
logfile ""
dir /tmp
sentinel monitor mymaster 127.0.0.1 8000 2
sentinel down-after-milliseconds mymaster 30000
acllog-max-len 128
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
sentinel deny-scripts-reconfig yes
SENTINEL resolve-hostnames no
SENTINEL announce-hostnames no
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
bind 0.0.0.0
port 18001
daemonize no
pidfile /var/run/redis-sentinel18001.pid
logfile ""
dir /tmp
sentinel monitor mymaster 127.0.0.1 8000 2
sentinel down-after-milliseconds mymaster 30000
acllog-max-len 128
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
sentinel deny-scripts-reconfig yes
SENTINEL resolve-hostnames no
SENTINEL announce-hostnames no
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
bind 0.0.0.0
port 18002
daemonize no
pidfile /var/run/redis-sentinel18002.pid
logfile ""
dir /tmp
sentinel monitor mymaster 127.0.0.1 8000 2
sentinel down-after-milliseconds mymaster 30000
acllog-max-len 128
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
sentinel deny-scripts-reconfig yes
SENTINEL resolve-hostnames no
SENTINEL announce-hostnames no

部署完成查询master节点信息

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
127.0.0.1:18000> sentinel master mymaster
 1) "name"
 2) "mymaster"
 3) "ip"
 4) "127.0.0.1"
 5) "port"
 6) "8000"
 7) "runid"
 8) "588aa8465fdeda96459a212b87ced3980e7de1e0"
 9) "flags"
10) "master"
11) "link-pending-commands"
12) "0"
13) "link-refcount"
14) "1"
15) "last-ping-sent"
16) "0"
17) "last-ok-ping-reply"
18) "381"
19) "last-ping-reply"
20) "381"
21) "down-after-milliseconds"
22) "30000"
23) "info-refresh"
24) "7987"
25) "role-reported"
26) "master"
27) "role-reported-time"
28) "941802"
29) "config-epoch"
30) "0"
31) "num-slaves"
32) "2"
33) "num-other-sentinels"
34) "2"
35) "quorum"
36) "2"
37) "failover-timeout"
38) "180000"
39) "parallel-syncs"
40) "1

集群模式

6节点,3个主,3个从

修改配置文件:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
bind 0.0.0.0
port 9000
tcp-backlog 511
timeout 0
tcp-keepalive 300
# daemonize:yes:redis采用的是单进程多线程的模式。当redis.conf中选项daemonize设置成yes时,代表开启守护进程模式。在该模式下,redis会在后台运行,并将进程pid号写入至redis.conf选项pidfile设置的文件中,此时redis将一直运行,除非手动kill该进程。
# daemonize:no: 当daemonize选项设置成no时,当前界面将进入redis的命令行界面,exit强制退出或者关闭连接工具(putty,xshell等)都会导致redis进程退出。
daemonize no
pidfile /var/run/redis_9000.pid

# Specify the server verbosity level.
# This can be one of:
# debug (a lot of information, useful for development/testing)
# verbose (many rarely useful info, but not a mess like the debug level)
# notice (moderately verbose, what you want in production probably)
# warning (only very important / critical messages are logged)
loglevel verbose

logfile ""

databases 16

always-show-logo no
# 修改进程标题以显示一些运行时信息
set-proc-title yes
proc-title-template "{title} {listen-addr} {server-mode}"

save 5 2

# stop-writes-on-bgsave-error 选项
# 如果 = yes : redis 会创建一个新的后台进程dump rdb。
# 假设 :创建快照(硬盘上,产生一个新的rdb文件)需要 20s时间,redis主进程,在这20s内,会继续接受客户端命令,但是,就在这20s,内,创建快照!!!,出错了,比如磁盘满了,那么redis会认为,
# 当前!!!,Redis is configured to save RDB snapshots, but is currently not able to persist on disk. but is currently not able to persist on disk.
# 那么,redis会,拒绝 新的写入,也就是说,它认为,你当下,持久化数据出现了问题,你就不要再set啦。
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump9000.rdb
rdb-del-sync-files no
dir ./
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-diskless-load disabled
repl-disable-tcp-nodelay no
replica-priority 100
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
lazyfree-lazy-user-del no
lazyfree-lazy-user-flush no
oom-score-adj no
oom-score-adj-values 0 200 800
disable-thp yes
# AOF
appendonly yes
appendfilename "appendonly9000.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
# cluster
cluster-enabled yes
cluster-config-file nodes-9000.conf
cluster-node-timeout 15000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes
jemalloc-bg-thread yes

一共6个配置文件注意修改端口PID

设置集群信息:

1
redis-cli --cluster create 192.168.32.128:9000 192.168.32.128:9001 192.168.32.128:9002 192.168.32.128:9003 192.168.32.128:9004 192.168.32.128:9005 --cluster-replicas 1
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52

[root@localhost bin]# redis-cli --cluster create 192.168.32.128:9000 192.168.32.128:9001 192.168.32.128:9002 192.168.32.128:9003 192.168.32.128:9004 192.168.32.128:9005 --cluster-replicas 1
>>> Performing hash slots allocation on 6 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
Adding replica 192.168.32.128:9004 to 192.168.32.128:9000
Adding replica 192.168.32.128:9005 to 192.168.32.128:9001
Adding replica 192.168.32.128:9003 to 192.168.32.128:9002
>>> Trying to optimize slaves allocation for anti-affinity
[WARNING] Some slaves are in the same host as their master
M: baaee075668c98d28b63ce32e0d33ede54585523 192.168.32.128:9000
   slots:[0-5460] (5461 slots) master
M: 3966df1d3db85a73387e7c7477dbf2495949e72e 192.168.32.128:9001
   slots:[5461-10922] (5462 slots) master
M: 5bad77ae3756b2bcba3cb0624597d35141490cf6 192.168.32.128:9002
   slots:[10923-16383] (5461 slots) master
S: 9cea76b30bcef7febbeb57a3e580bde8801076f0 192.168.32.128:9003
   replicates 3966df1d3db85a73387e7c7477dbf2495949e72e
S: be67ae25c1a8a77d7b3d33d7be3b85087bdd8a9c 192.168.32.128:9004
   replicates 5bad77ae3756b2bcba3cb0624597d35141490cf6
S: 0799aa5a4fe7a8f439716a83a37c605c8220f765 192.168.32.128:9005
   replicates baaee075668c98d28b63ce32e0d33ede54585523
Can I set the above configuration? (type 'yes' to accept): yes
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join
..
>>> Performing Cluster Check (using node 192.168.32.128:9000)
M: baaee075668c98d28b63ce32e0d33ede54585523 192.168.32.128:9000
   slots:[0-5460] (5461 slots) master
   1 additional replica(s)
S: be67ae25c1a8a77d7b3d33d7be3b85087bdd8a9c 192.168.32.128:9004
   slots: (0 slots) slave
   replicates 5bad77ae3756b2bcba3cb0624597d35141490cf6
S: 9cea76b30bcef7febbeb57a3e580bde8801076f0 192.168.32.128:9003
   slots: (0 slots) slave
   replicates 3966df1d3db85a73387e7c7477dbf2495949e72e
M: 3966df1d3db85a73387e7c7477dbf2495949e72e 192.168.32.128:9001
   slots:[5461-10922] (5462 slots) master
   1 additional replica(s)
S: 0799aa5a4fe7a8f439716a83a37c605c8220f765 192.168.32.128:9005
   slots: (0 slots) slave
   replicates baaee075668c98d28b63ce32e0d33ede54585523
M: 5bad77ae3756b2bcba3cb0624597d35141490cf6 192.168.32.128:9002
   slots:[10923-16383] (5461 slots) master
   1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

查询集群信息:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
127.0.0.1:9000> cluster nodes
be67ae25c1a8a77d7b3d33d7be3b85087bdd8a9c 192.168.32.128:9004@19004 slave 5bad77ae3756b2bcba3cb0624597d35141490cf6 0 1629964032407 3 connected
9cea76b30bcef7febbeb57a3e580bde8801076f0 192.168.32.128:9003@19003 slave 3966df1d3db85a73387e7c7477dbf2495949e72e 0 1629964028327 2 connected
3966df1d3db85a73387e7c7477dbf2495949e72e 192.168.32.128:9001@19001 master - 0 1629964031387 2 connected 5461-10922
0799aa5a4fe7a8f439716a83a37c605c8220f765 192.168.32.128:9005@19005 slave baaee075668c98d28b63ce32e0d33ede54585523 0 1629964030000 1 connected
baaee075668c98d28b63ce32e0d33ede54585523 192.168.32.128:9000@19000 myself,master - 0 1629964030000 1 connected 0-5460
5bad77ae3756b2bcba3cb0624597d35141490cf6 192.168.32.128:9002@19002 master - 0 1629964032000 3 connected 10923-16383
127.0.0.1:9000> cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:6
cluster_my_epoch:1
cluster_stats_messages_ping_sent:383
cluster_stats_messages_pong_sent:385
cluster_stats_messages_sent:768
cluster_stats_messages_ping_received:380
cluster_stats_messages_pong_received:383
cluster_stats_messages_meet_received:5
cluster_stats_messages_received:768