基于redis集群设置密码的实例

注意事项:

1.如果是使用redis-trib.rb工具构建集群,集群构建完成前不要配置密码,集群构建完毕再通过config set + config rewrite命令逐个机器设置密码

2.如果对集群设置密码,那么requirepass和masterauth都需要设置,否则发生主从切换时,就会遇到授权问题,可以模拟并观察日志

3.各个节点的密码都必须一致,否则Redirected就会失败

1

2

3

config set masterauth abc

config set requirepass abc

config rewrite

测试版本:

redis3.0.7

测试环境:

centos7

集群规模:

3主3从

集群构建成功前的redis配置:

1

2

3

4

5

6

7

8

9

10

11

12

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

集群构建成功后的redis配置:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

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"

测试:

1.8002是主,8005是8002的从,现在要kill掉8002模拟主从切换

2.查看8005的日志,8005最终被选举成新的master

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

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.再次启动8002,查看8005的日志,8002已经变成8005的slave

1

2

3

4

5

6

7

8

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.简单测试了GET SET命令,正常

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jh035512

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值