https://blog.csdn.net/sinat_29699167/article/details/79699200
https://blog.csdn.net/Lord_Arnold/article/details/77151814
https://www.cnblogs.com/bingshu/p/8490737.html
https://blog.csdn.net/LZJLZJLZJLZJLZJLZJ/article/details/52865149
各版本下载 https://github.com/ServiceStack/redis-windows #主服务器用的端口为默认端口6379,copy redis安装文件3个,分别为命名为mater,slave1,slave2进入每个文件夹,修改redis-conf文件 所有复制的文件和文件夹,注意查看权限,redis-conf的权限特别需要注意 主服务器用的端口为默认端口6000,两个从服务器的端口分别为6001和60021 master 配置修改端口 port 6000 requirepass 1234562 slave l 修改配置: port 6001 slaveof 127.0.0.1 6000 masterauth 123456 requirepass 1234563 slave 2 修改配置: port 6002 slaveof 127.0.0.1 6000 masterauth 123456 requirepass 123456 (requirepass是认证密码,因为之后要作主从切换,所以建议所有密码都一致,masterauth是从机对主机时所需的密码,即主机的requirepass)4 启动主机 redis-server redis.conf5 启动从机 redis-server redis1.conf6 启动从机 redis-server redis2.conf
启动之后使用:ps -ef|grep redis 来查看问题的所在
接下来需要考虑的是主机redis挂了之后,从机中自动推选出一台为主机,然后挂掉的主机重启后自动成为从机 ;三个哨兵(sentinel)的端口分别为26000、26001和26002.
redis的主从复制 :读写分离1 准备三个redis服务,依次命名文件夹为master ,slavel ,slave2 2 修改配置文件(redis-conf) master配置修改端口: port 6000 masterauth 12345 requirepass 123456 slavel1 修改配置 port 6001 slaveof 127.0.0.1 6000 masterauth 123456 requirepass 123456 slave2 修改配置 port 6002 slaveof 127.0.0.1 6000 masterauth 123456 requirepass 123456 (requirepass是认证密码,因为之后要作主从切换,所以建议所有密码都一致,masterauth是从机对主机验证时所需的密码,即主机的require pass)3 启动主机 redis-server redis.conf 启动从机 redis-server redis1.conf redis-server redis2.conf 输入ps -ef|grep redis 查看4 验证主从复制 master:redis-cli -p 6000 auth 123456 set key value slavel: redis-cli p 6001 auth 123456 get key slave2:redis-cli -p 6002 auth 123456 get key5 万一主机挂了怎么办? redis提供了一个sentinel(哨兵) 实现主从切换功能 查看主从状态 --> info replication 断开主从连接 --> slaveof no one 1 配置3个sentinel进程 vi sentinel-conf
port 26385 (需要配置)daemonize yes sentinel monitor mymaster 127.0.0.1 6384 2 (需要配置)【数字2指当前有两个及以上的sentinel服务检测到master宕机,才会执行主从切换的功能】sentinel auth-pass mymaster 123456 (需要配置)
启动哨兵服务(到对应的目录执行相应的命令):
redis-server sentinel.conf --sentinel
查看日志:redis-sentinel
杀死主进程:
ps -ef | grep redis
kill -9 6960
master切换了,当6000端口的这个服务重启时,会变成6001,端口服务名slave
成为sentinel在切换master时,把对应的sentinel,conf和redis.conf文件配置修改
但 :sentinel服务不是万能,得sentinel集群