基于redis集群设置密码的实例
程序员文章站
2023-02-20 19:33:06
注意事项:
1.如果是使用redis-trib.rb工具构建集群,集群构建完成前不要配置密码,集群构建完毕再通过config set + config rewrite命令...
注意事项:
1.如果是使用redis-trib.rb工具构建集群,集群构建完成前不要配置密码,集群构建完毕再通过config set + config rewrite命令逐个机器设置密码
2.如果对集群设置密码,那么requirepass和masterauth都需要设置,否则发生主从切换时,就会遇到授权问题,可以模拟并观察日志
3.各个节点的密码都必须一致,否则redirected就会失败
config set masterauth abc config set requirepass abc config rewrite
测试版本:
redis3.0.7
测试环境:
centos7
集群规模:
3主3从
集群构建成功前的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
集群构建成功后的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"
测试:
1.8002是主,8005是8002的从,现在要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.再次启动8002,查看8005的日志,8002已经变成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.简单测试了get set命令,正常
以上这篇基于redis集群设置密码的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
上一篇: Python高级架构模式知识点总结
下一篇: 雁鹅是什么?雁鹅和普通家鹅有什么区别?