CentO7 安装 redis, 主从配置,Sentinel集群故障转移切换

 
 
一、Redis的安装(前提是已经安装了EPEL)
 
安装redis:
yum -y install redis
启动/停止/重启 Redis
启动服务:
systemctl start redis.service
停止服务:
systemctl stop redis.service
重启服务:
systemctl restart redis.service
检查状态:
systemctl status redis.service
随系统启动服务:
systemctl enable redis.service
关闭随系统启动:
systemctl disable redis.service
 
二、redis基本命令的使用
登陆redis
> redis-cli -h 127.0.0.1 -p 6379
set操作
> set k1 123456
get操作
> get k1
查找所有key
> keys *
判断key是否存在
> exists 123
删除指定key
> del k1
获取key的类型
> type k1
查看当前redis的信息
> info
选择不同的db,redis中的db并没有很强的区分
> select 1
清除所有的key
> flushall
 
三、开启远程连接服务
ps -ef | grep redis 查看只能本机IP的机器可以访问
打开配置文件
vi /etc/redis.conf
常用工具redis desktop manageer 使用指南
查看redis版本
 redis-server --version
 
四、Redis的主从配置
例如:四台服务器
192.168.237.101, matser
192.168.237.102   slave
192.168.237.103   slave
192.168.237.104   slave
 
四台机器全部安装redis
修改配置文件
vi /etc/redis.conf
 
#bind 127.0.0.1
protected-mode no
daemonize yes
appendonly yes
slaveof 192.168.237.101 6379 #只有slave节点需要开启这条指令
 
重新启动四台机器redis
 
Master服务器可读写,
slave服务器同步成功只能读不能写,打开可以读需要修改配置
slave-read-only no
五、Redis-sentinel的哨兵灾备切换配置
两台机器安装redis
例如
192.168.236.104
192.168.236.105
修改该sentinel配置文件
vi /etc/redis-sentinel.conf
 
protected-mode no
sentinel monitor mymaster 192.168.237.101 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 15000
sentinel parallel-syncs mymaster 1
 
 
mymaster 后面跟master的ip 和端口 最后一个2 代表只要有两个sentienl认为master下线就认为该master 客观下线 启动failover 并选举新的master 通常最后一个参数不能多余启动的sentinel实例数
 
down-after-milliseconds 服务器不可靠的判断依据
parallel-syncs 在故障转移成功后,马上将切到新的master的slave数量
启动sentinel 服务
Systemctl start redis-sentinel
参数参考意义地址
 
查看sentinel日志文件
vi  /var/log/redis/sentinel.log
杀掉 redis master 进程
查看sentinel日志进程
Sdown 检测到主观下线
Odown 检测到客观下线
try-failover master mymaster  尝试故障转移切换
switch-master mymaster 192.168.237.101 6379 192.168.237.102 6379
切换主master 101 到 102
 
查看主从配置
SDOWN适合于Master和Slave,只要一个Sentinel 发现Master进入了ODOWN, 这个Sentinel就可能会被其他Sentinel推选出, 并对下线的主服务器执行自动故障迁移操作。
ODOWN只适用于Master,对于Slave的Redis实例,Sentinel在将它们判断为下线前不需要进行协商,所以Slave的Sentinel永远不会达到ODOWN。
 
原文地址:https://www.cnblogs.com/acewhl/p/7016468.html