配置环境:
两台虚拟机linux
关闭防火墙和SElinuxredis
systemctl stop firewalld setenforce 0
两台虚拟机必须连的是同一个网
必须在同一个网段
同一个端口
在两台虚拟机上边,下载配置Redis算法
cd /usr/local/src wget http://download.redis.io/releases/redis-3.2.4.tar.gz tar -zxvf redis-3.2.4.tar.gz
而后进入redis-3.2.4目录中,编译安装:vim
make && make install
主机配置Redis文件centos
vim redis.conf bind + 主机IP port 6379 daemonize no # 这个为后台运行程序 改为yes logfile # 前面加注释 给注释掉 slave-priority 25 #优先级设为设为25
配置主机(2)(从机3)ide
bind + 第二台主机IP port 6379 daemonize no # 这个为后台运行程序 改为yes logfile # 前面加注释 给注释掉 slave-priority 25 #设为25(优先级) slaveof 192.168.124.48 6379(主机1IP加端口)
从机配置Redis文件centos7
vim redis.conf bind 192.168.124.47 (本机IP) protected-mode yes port 6379 (端口) daemonize no slave-priority 100 (设置优先级,数字小的优先) logfile # 前面加注释 给注释掉 slaveof 192.168.124.48 6379 (主机1IP加端口)
配置主机2哨兵文件:3d
port 26379 (默认端口为26379) daemonize no sentinel monitor mymaster 192.168.124.48 6379 2 (“2”表明若是有两个哨兵认为这台机器是主机的时候,这台机器就是主机)
配置从机哨兵:code
vim sentinel.conf daemonize yes port 26379 (默认端口为26379) slaveof 192.168.124.48 6379 2 (“2”表明若是有两个哨兵认为这台机器是主机的时候,这台机器就是主机) protected-mode no
启动Redis和哨兵:(一台主机和两台从机启动哨兵,两台主机和两台从机启动redis)server
redis-server /usr/local/src/redis-3.2.4/redis.conf redis-sentinel /usr/local/src/redis-3.2.4/sentinel.conf
查看是否启动成功:
ps aux | grep redis
实现两主两从
1.主从链接成功
redis-cli -h 192.168.124.48(主机1)
redis-cli -h 192.168.124.104
redis-cli -h 192.168.124.65
redis-clii -h 192.168.124.47
info replication
主机显示本身角色为master
链接成功的从机有3个。
从机显示本身角色为slave
若是主机down掉以后,哨兵会按优先值来推荐其余从机为主。
实现数据同步:
redis-cli -h 192.168.124.48(主机1)
redis-cli -h 192.168.124.104
redis-cli -h 192.168.124.65
redis-cli -h 192.168.124.47
进入redis交互式环境
set 'qqq' 'zzz'
当前状态谁是主机,谁就有写的权限
其他三台从机,只有读的权限,没有写的权限
key *
(在从机上应该都会显示主机刚刚建立的键值对 [qqq:zzz])
主机上已经建立了qqq这个键
从机上都会显示qqq这个键
判断是否为二主
宕掉主机 (kill掉主机进程)
哨兵会根据算法推选主机2 为主
redis-cli -h 192.168.124.104
info replication
redis-cli -h 192.168.124.65
info replication
将主机1启动
此时 主机1为从 它的主为主机2
主机2宕机
哨兵会推选主机1为主
实现高可用
只要192.168.124.48和192.168.124.104任意一台启动着,两个从机就永远不可能成为主机,只有当两台主机全都宕机,才会在两台从机中任意选举一个做为主机
两台主机所有宕机
哨兵会经过算法随机推选两个从机任意一个为主
从机2成为主
从机1为从 显示它的主为从机1即便两台主机所有宕掉,业务也不会中断,哨兵会随机推选一个从做为主