基于redis集群設(shè)置密碼的實(shí)例
注意事項(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è)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Redis數(shù)據(jù)類(lèi)型超詳細(xì)講解分析
Redis是一個(gè)開(kāi)源的內(nèi)存數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)系統(tǒng),可以用作數(shù)據(jù)庫(kù)、緩存和消息中間件,本文詳細(xì)介紹了Redis的各個(gè)數(shù)據(jù)類(lèi)型、內(nèi)部編碼以及一些高級(jí)功能,如Geo、HyperLogLog和Stream,需要的朋友可以參考下2024-12-12淺析redis cluster介紹與gossip協(xié)議
這篇文章主要介紹了redis cluster介紹與gossip協(xié)議,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09Redis超詳細(xì)講解高可用主從復(fù)制基礎(chǔ)與哨兵模式方案
Redis因?yàn)槠涓咝阅芎鸵子眯栽谖覀兒蠖说姆?wù)中發(fā)揮了巨大的作用,并且很多重要功能的實(shí)現(xiàn)都會(huì)依賴(lài)redis,本篇我們來(lái)了解Redis高可用主從復(fù)制與哨兵模式2022-04-04redislive監(jiān)控redis服務(wù)的圖文教程_動(dòng)力節(jié)點(diǎn)Java 學(xué)院整理
這篇文章主要介紹了redislive監(jiān)控redis服務(wù)的圖文教程_動(dòng)力節(jié)點(diǎn)Java 學(xué)院整理,需要的朋友可以參考下2017-08-08