服务器信息
redis 配置目录
cluster配置
##########redis集群需要至少三个master节点,我们这里搭建三个master节点,并且给每个master再搭建一个slave节点,总共6个redis节点
bind 0.0.0.0 -::1
#是否开启保护模式,默认开启。要是配置里没有指定bind和密码。开启该参数后,redis只会本地进行访问,拒绝外部访问。
protected-mode no
port 16379
# redis进程是否以守护进程的方式运行,yes为是,no为否(不以守护进程的方式运行会占用一个终端)。
daemonize yes
# 指定redis进程的PID文件存放位置
pidfile "/var/run/redis_16379.pid"
# redis日志级别,可用的级别有debug.verbose.notice.warning
loglevel notice
# log文件输出位置,如果进程以守护进程的方式运行,此处又将输出文件设置为stdout的话,就会将日志信息输出到/dev/null
logfile "/opt/components/redis/redis-cluster/logs/redis-16379.log"
# 指定存储至本地数据库时是否压缩文件,默认为yes即启用存储
rdbcompression yes
# # 指定本地数据库文件名
dbfilename "dump-16379.rdb"
#redis集群模式数据存放目录,指定数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据
dir "/opt/components/redis/redis-cluster/data"
################################# Redis集群配置 [无中心化]#################################
# 开启redis集群
cluster-enabled yes
# 集群配置文件
cluster-config-file nodes-16379.conf
# 设定节点失联时间,超过该时间(毫秒),集群自动进行主从切换。默认15秒
# cluster-node-timeout 15000
# redis访问密码
requirepass 123456
# 主要是针对master对应的slave节点设置的,在slave节点数据同步的时候用到。设置集群节点间访问密码
masterauth 123456
#AOF模式
appendonly no
# 混合持久化模式
aof-use-rdb-preamble yes
# maxclients 10000
配置服务systemd
[Unit]
Description=Redis7.0.4 - [Cluster Node port:16379]
After=network.target
[Service]
Type=forking
PIDFile=/var/run/redis_16379.pid
ExecStart=/usr/local/bin/redis/redis-server /opt/components/redis/redis-cluster/conf/redis-cluster-16379.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
三台机器都配置完成后,都启动好。接下来创建集群:
########## 9个节点、分三片集群;一个主节点对应三个从节点
########## 一主两从搭建集群
redis-cli -a 123456 --cluster create --cluster-replicas 2 192.168.0.81:16379 192.168.0.82:16379 192.168.0.83:16379 192.168.0.81:16380 192.168.0.82:16380 192.168.0.83:16380 192.168.0.81:16381 192.168.0.82:16381 192.168.0.83:16381
创建集群:
[root@server81 src]# ./redis-cli -a 123456 --cluster create --cluster-replicas 2 192.168.0.81:16379 192.168.0.82:16379 192.168.0.83:16379 192.168.0.81:16380 192.168.0.82:16380 192.168.0.83:16380 192.168.0.81:16381 192.168.0.82:16381 192.168.0.83:16381
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
>>> Performing hash slots allocation on 9 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
Adding replica 192.168.0.82:16380 to 192.168.0.81:16379
Adding replica 192.168.0.83:16380 to 192.168.0.81:16379
Adding replica 192.168.0.81:16381 to 192.168.0.82:16379
Adding replica 192.168.0.83:16381 to 192.168.0.82:16379
Adding replica 192.168.0.82:16381 to 192.168.0.83:16379
Adding replica 192.168.0.81:16380 to 192.168.0.83:16379
M: 839246f2edf06386be6fa157339b9082230cf071 192.168.0.81:16379
slots:[0-5460] (5461 slots) master
M: 12e1fe0f08bb2cfe6edf80467510a08b5ce0a99b 192.168.0.82:16379
slots:[5461-10922] (5462 slots) master
M: 799ddacaceebed6f50b3fc8a4cdc23c981df19b7 192.168.0.83:16379
slots:[10923-16383] (5461 slots) master
S: faf83256ece32d6e08fb7a3728cb1de235633080 192.168.0.81:16380
replicates 799ddacaceebed6f50b3fc8a4cdc23c981df19b7
S: 664339b94f8fc6c7d73a583541eee9c633f1302a 192.168.0.82:16380
replicates 839246f2edf06386be6fa157339b9082230cf071
S: 0e6d09b51116e723262939910783807c612b022f 192.168.0.83:16380
replicates 839246f2edf06386be6fa157339b9082230cf071
S: aa396fda2e18a9af1a29029bb1f7527bf3a027f3 192.168.0.81:16381
replicates 12e1fe0f08bb2cfe6edf80467510a08b5ce0a99b
S: 6bc0c73074e74fb11cdc9c5051b093f35879228a 192.168.0.82:16381
replicates 799ddacaceebed6f50b3fc8a4cdc23c981df19b7
S: 7d412fea5421779bde0c46a52058f6642b24086d 192.168.0.83:16381
replicates 12e1fe0f08bb2cfe6edf80467510a08b5ce0a99b
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.0.81:16379)
M: 839246f2edf06386be6fa157339b9082230cf071 192.168.0.81:16379
slots:[0-5460] (5461 slots) master
2 additional replica(s)
S: faf83256ece32d6e08fb7a3728cb1de235633080 192.168.0.81:16380
slots: (0 slots) slave
replicates 799ddacaceebed6f50b3fc8a4cdc23c981df19b7
M: 799ddacaceebed6f50b3fc8a4cdc23c981df19b7 192.168.0.83:16379
slots:[10923-16383] (5461 slots) master
2 additional replica(s)
S: 0e6d09b51116e723262939910783807c612b022f 192.168.0.83:16380
slots: (0 slots) slave
replicates 839246f2edf06386be6fa157339b9082230cf071
S: 6bc0c73074e74fb11cdc9c5051b093f35879228a 192.168.0.82:16381
slots: (0 slots) slave
replicates 799ddacaceebed6f50b3fc8a4cdc23c981df19b7
S: 7d412fea5421779bde0c46a52058f6642b24086d 192.168.0.83:16381
slots: (0 slots) slave
replicates 12e1fe0f08bb2cfe6edf80467510a08b5ce0a99b
S: aa396fda2e18a9af1a29029bb1f7527bf3a027f3 192.168.0.81:16381
slots: (0 slots) slave
replicates 12e1fe0f08bb2cfe6edf80467510a08b5ce0a99b
M: 12e1fe0f08bb2cfe6edf80467510a08b5ce0a99b 192.168.0.82:16379
slots:[5461-10922] (5462 slots) master
2 additional replica(s)
S: 664339b94f8fc6c7d73a583541eee9c633f1302a 192.168.0.82:16380
slots: (0 slots) slave
replicates 839246f2edf06386be6fa157339b9082230cf071
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
############# 分配后的结构
839246f2edf06386be6fa157339b9082230cf071 192.168.0.81:16379 -》 192.168.0.82:16380 192.168.0.83:16380
12e1fe0f08bb2cfe6edf80467510a08b5ce0a99b 192.168.0.82:16379 -》 192.168.0.81:16381 192.168.0.83:16381
799ddacaceebed6f50b3fc8a4cdc23c981df19b7 192.168.0.83:16379 -》 192.168.0.81:16380 192.168.0.82:16381
0e6d09b51116e723262939910783807c612b022f 192.168.0.83:16380@26380 slave 839246f2edf06386be6fa157339b9082230cf071 0 1662390763727 1 connected
7d412fea5421779bde0c46a52058f6642b24086d 192.168.0.83:16381@26381 slave aa396fda2e18a9af1a29029bb1f7527bf3a027f3 0 1662390762000 10 connected
faf83256ece32d6e08fb7a3728cb1de235633080 192.168.0.81:16380@26380 slave 799ddacaceebed6f50b3fc8a4cdc23c981df19b7 0 1662390762000 3 connected
839246f2edf06386be6fa157339b9082230cf071 192.168.0.81:16379@26379 master - 0 1662390762719 1 connected 0-5460
799ddacaceebed6f50b3fc8a4cdc23c981df19b7 192.168.0.83:16379@26379 myself,master - 0 1662390759000 3 connected 10923-16383
aa396fda2e18a9af1a29029bb1f7527bf3a027f3 192.168.0.81:16381@26381 master - 0 1662390762000 10 connected 5461-10922
6bc0c73074e74fb11cdc9c5051b093f35879228a 192.168.0.82:16381@26381 slave 799ddacaceebed6f50b3fc8a4cdc23c981df19b7 0 1662390762000 3 connected
664339b94f8fc6c7d73a583541eee9c633f1302a 192.168.0.82:16380@26380 slave 839246f2edf06386be6fa157339b9082230cf071 0 1662390764737 1 connected
12e1fe0f08bb2cfe6edf80467510a08b5ce0a99b 192.168.0.82:16379@26379 slave aa396fda2e18a9af1a29029bb1f7527bf3a027f3 0 1662390761000 10 connected
839246f2edf06386be6fa157339b9082230cf071 192.168.0.81:16379@26379 master - 0 1662390762719 1 connected 0-5460
0e6d09b51116e723262939910783807c612b022f 192.168.0.83:16380@26380 slave 839246f2edf06386be6fa157339b9082230cf071 0 1662390763727 1 connected
664339b94f8fc6c7d73a583541eee9c633f1302a 192.168.0.82:16380@26380 slave 839246f2edf06386be6fa157339b9082230cf071 0 1662390764737 1 connected
aa396fda2e18a9af1a29029bb1f7527bf3a027f3 192.168.0.81:16381@26381 master - 0 1662390762000 10 connected 5461-10922
7d412fea5421779bde0c46a52058f6642b24086d 192.168.0.83:16381@26381 slave aa396fda2e18a9af1a29029bb1f7527bf3a027f3 0 1662390762000 10 connected
12e1fe0f08bb2cfe6edf80467510a08b5ce0a99b 192.168.0.82:16379@26379 slave aa396fda2e18a9af1a29029bb1f7527bf3a027f3 0 1662390761000 10 connected
799ddacaceebed6f50b3fc8a4cdc23c981df19b7 192.168.0.83:16379@26379 myself,master - 0 1662390759000 3 connected 10923-16383
faf83256ece32d6e08fb7a3728cb1de235633080 192.168.0.81:16380@26380 slave 799ddacaceebed6f50b3fc8a4cdc23c981df19b7 0 1662390762000 3 connected
6bc0c73074e74fb11cdc9c5051b093f35879228a 192.168.0.82:16381@26381 slave 799ddacaceebed6f50b3fc8a4cdc23c981df19b7 0 1662390762000 3 connected
#步骤二、将192.168.0.83:16379节点关闭,由于是主节点,需要重新选主。
7d412fea5421779bde0c46a52058f6642b24086d 192.168.0.83:16381@26381 slave aa396fda2e18a9af1a29029bb1f7527bf3a027f3 0 1662390896368 10 connected
0e6d09b51116e723262939910783807c612b022f 192.168.0.83:16380@26380 myself,slave 839246f2edf06386be6fa157339b9082230cf071 0 1662390896000 1 connected
12e1fe0f08bb2cfe6edf80467510a08b5ce0a99b 192.168.0.82:16379@26379 slave aa396fda2e18a9af1a29029bb1f7527bf3a027f3 0 1662390898383 10 connected
839246f2edf06386be6fa157339b9082230cf071 192.168.0.81:16379@26379 master - 0 1662390897376 1 connected 0-5460
aa396fda2e18a9af1a29029bb1f7527bf3a027f3 192.168.0.81:16381@26381 master - 0 1662390896000 10 connected 5461-10922
799ddacaceebed6f50b3fc8a4cdc23c981df19b7 192.168.0.83:16379@26379 master,fail - 1662390852988 1662390851000 3 disconnected
664339b94f8fc6c7d73a583541eee9c633f1302a 192.168.0.82:16380@26380 slave 839246f2edf06386be6fa157339b9082230cf071 0 1662390895360 1 connected
faf83256ece32d6e08fb7a3728cb1de235633080 192.168.0.81:16380@26380 slave 6bc0c73074e74fb11cdc9c5051b093f35879228a 0 1662390895000 11 connected
6bc0c73074e74fb11cdc9c5051b093f35879228a 192.168.0.82:16381@26381 master - 0 1662390897000 11 connected 10923-16383
839246f2edf06386be6fa157339b9082230cf071 192.168.0.81:16379@26379 master - 0 1662390897376 1 connected 0-5460
0e6d09b51116e723262939910783807c612b022f 192.168.0.83:16380@26380 myself,slave 839246f2edf06386be6fa157339b9082230cf071 0 1662390896000 1 connected
664339b94f8fc6c7d73a583541eee9c633f1302a 192.168.0.82:16380@26380 slave 839246f2edf06386be6fa157339b9082230cf071 0 1662390895360 1 connected
aa396fda2e18a9af1a29029bb1f7527bf3a027f3 192.168.0.81:16381@26381 master - 0 1662390896000 10 connected 5461-10922
7d412fea5421779bde0c46a52058f6642b24086d 192.168.0.83:16381@26381 slave aa396fda2e18a9af1a29029bb1f7527bf3a027f3 0 1662390896368 10 connected
12e1fe0f08bb2cfe6edf80467510a08b5ce0a99b 192.168.0.82:16379@26379 slave aa396fda2e18a9af1a29029bb1f7527bf3a027f3 0 1662390898383 10 connected
6bc0c73074e74fb11cdc9c5051b093f35879228a 192.168.0.82:16381@26381 master - 0 1662390897000 11 connected 10923-16383
faf83256ece32d6e08fb7a3728cb1de235633080 192.168.0.81:16380@26380 slave 6bc0c73074e74fb11cdc9c5051b093f35879228a 0 1662390895000 11 connected
799ddacaceebed6f50b3fc8a4cdc23c981df19b7 192.168.0.83:16379@26379 master,fail - 1662390852988 1662390851000 3 disconnected
#步骤三、将192.168.0.83:16379 重新上线
7d412fea5421779bde0c46a52058f6642b24086d 192.168.0.83:16381@26381 slave aa396fda2e18a9af1a29029bb1f7527bf3a027f3 0 1662391449016 10 connected
0e6d09b51116e723262939910783807c612b022f 192.168.0.83:16380@26380 myself,slave 839246f2edf06386be6fa157339b9082230cf071 0 1662391446000 1 connected
12e1fe0f08bb2cfe6edf80467510a08b5ce0a99b 192.168.0.82:16379@26379 slave aa396fda2e18a9af1a29029bb1f7527bf3a027f3 0 1662391448000 10 connected
839246f2edf06386be6fa157339b9082230cf071 192.168.0.81:16379@26379 master - 0 1662391443000 1 connected 0-5460
aa396fda2e18a9af1a29029bb1f7527bf3a027f3 192.168.0.81:16381@26381 master - 0 1662391445000 10 connected 5461-10922
799ddacaceebed6f50b3fc8a4cdc23c981df19b7 192.168.0.83:16379@26379 slave 6bc0c73074e74fb11cdc9c5051b093f35879228a 0 1662391445994 11 connected
664339b94f8fc6c7d73a583541eee9c633f1302a 192.168.0.82:16380@26380 slave 839246f2edf06386be6fa157339b9082230cf071 0 1662391445000 1 connected
faf83256ece32d6e08fb7a3728cb1de235633080 192.168.0.81:16380@26380 slave 6bc0c73074e74fb11cdc9c5051b093f35879228a 0 1662391448008 11 connected
6bc0c73074e74fb11cdc9c5051b093f35879228a 192.168.0.82:16381@26381 master - 0 1662391447002 11 connected 10923-16383