注意事項(xiàng):
1.如果是使用redis-trib.rb工具構(gòu)建集群,集群構(gòu)建完成前不要配置密碼,集群構(gòu)建完畢再通過(guò)config set + config rewrite命令逐個(gè)機(jī)器設(shè)置密碼
2.如果對(duì)集群設(shè)置密碼,那么requirepass和masterauth都需要設(shè)置,否則發(fā)生主從切換時(shí),就會(huì)遇到授權(quán)問(wèn)題,可以模擬并觀察日志
3.各個(gè)節(jié)點(diǎn)的密碼都必須一致,否則Redirected就會(huì)失敗
config set masterauth abc
config set requirepass abc
config rewrite
測(cè)試版本:
redis3.0.7
測(cè)試環(huán)境:
centos7
集群規(guī)模:
3主3從
集群構(gòu)建成功前的redis配置:
port 8000
cluster-enabled yes
cluster-config-file "nodes-8000.conf"
cluster-node-timeout 15000
dir "/opt/redisdata"
appendonly yes
appendfilename "appendonly-8000.aof"
logfile "/opt/redisdata/8000.log"
daemonize yes
pidfile "/var/run/redis-8000.pid"
dbfilename "dump-8000.rdb"
cluster-require-full-coverage no
集群構(gòu)建成功后的redis配置:
port 8004
cluster-enabled yes
cluster-config-file "nodes-8004.conf"
cluster-node-timeout 15000
dir "/opt/redisdata"
appendonly yes
appendfilename "appendonly-8004.aof"
logfile "/opt/redisdata/8004.log"
daemonize yes
pidfile "/var/run/redis-8004.pid"
dbfilename "dump-8004.rdb"
cluster-require-full-coverage no
# Generated by CONFIG REWRITE
requirepass "abc"
masterauth "abc"
測(cè)試:
1.8002是主,8005是8002的從,現(xiàn)在要kill掉8002模擬主從切換
2.查看8005的日志,8005最終被選舉成新的master
21227:S 14 Jun 07:28:49.343 # Connection with master lost.
21227:S 14 Jun 07:28:49.343 * Caching the disconnected master state.
21227:S 14 Jun 07:28:49.433 * Connecting to MASTER 127.0.0.1:8002
21227:S 14 Jun 07:28:49.433 * MASTER -> SLAVE sync started
21227:S 14 Jun 07:28:49.434 # Error condition on socket for SYNC: Connection refused
21227:S 14 Jun 07:28:50.437 * Connecting to MASTER 127.0.0.1:8002
21227:S 14 Jun 07:29:06.205 # Start of election delayed for 564 milliseconds (rank #0, offset 337).
21227:S 14 Jun 07:29:06.507 * Connecting to MASTER 127.0.0.1:8002
21227:S 14 Jun 07:29:06.507 * MASTER -> SLAVE sync started
21227:S 14 Jun 07:29:06.507 # Error condition on socket for SYNC: Connection refused
21227:S 14 Jun 07:29:06.808 # Starting a failover election for epoch 10.
21227:S 14 Jun 07:29:06.810 # Failover election won: I'm the new master.
21227:S 14 Jun 07:29:06.810 # configEpoch set to 10 after successful failover
21227:M 14 Jun 07:29:06.810 * Discarding previously cached master state.
3.再次啟動(dòng)8002,查看8005的日志,8002已經(jīng)變成8005的slave
21227:M 14 Jun 07:32:53.511 * Slave 127.0.0.1:8002 asks for synchronization
21227:M 14 Jun 07:32:53.511 * Full resync requested by slave 127.0.0.1:8002
21227:M 14 Jun 07:32:53.511 * Starting BGSAVE for SYNC with target: disk
21227:M 14 Jun 07:32:53.511 * Background saving started by pid 21613
21613:C 14 Jun 07:32:53.513 * DB saved on disk
21613:C 14 Jun 07:32:53.513 * RDB: 0 MB of memory used by copy-on-write
21227:M 14 Jun 07:32:53.612 * Background saving terminated with success
21227:M 14 Jun 07:32:53.612 * Synchronization with slave 127.0.0.1:8002 succeeded
4.簡(jiǎn)單測(cè)試了GET SET命令,正常
以上這篇基于redis集群設(shè)置密碼的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- 解決Redis設(shè)置密碼重啟后失效的問(wèn)題
- Redis設(shè)置密碼保護(hù)的實(shí)例講解
- Redis 密碼設(shè)置和查看密碼的方法
- Linux下Redis設(shè)置密碼及開(kāi)機(jī)自啟動(dòng)
- redis密碼設(shè)置、訪問(wèn)權(quán)限控制等安全設(shè)置
- Redis密碼設(shè)置與訪問(wèn)限制實(shí)現(xiàn)方法