centos7配置Redis(二主二从)

配置环境:
两台虚拟机

关闭防火墙和SElinux

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目录中,编译安装:

make && make install

主机配置Redis文件

vim redis.conf
bind + 主机IP
port 6379
daemonize  no      #  这个为后台运行程序  改成yes
logfile            #  前面加注释  给注释掉
slave-priority 25  #优先级设为设为25  

centos7配置Redis(二主二从)
centos7配置Redis(二主二从)
centos7配置Redis(二主二从)
centos7配置Redis(二主二从)
配置主机(2)(从机3)

bind + 第二台主机IP
port 6379
daemonize  no   #  这个为后台运行程序  改成yes
logfile            #  前面加注释  给注释掉
slave-priority 25   #设为25(优先级)
slaveof 192.168.124.48 6379(主机1IP加端口)

centos7配置Redis(二主二从)
centos7配置Redis(二主二从)
centos7配置Redis(二主二从)
centos7配置Redis(二主二从)
centos7配置Redis(二主二从)
从机配置Redis文件

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加端口)

centos7配置Redis(二主二从)
centos7配置Redis(二主二从)
centos7配置Redis(二主二从)
配置主机2哨兵文件:

port  26379 (默认端口为26379)
daemonize no
sentinel monitor mymaster  192.168.124.48 6379 2  (“2”代表如果有两个哨兵认为这台机器是主机的时候,这台机器就是主机)

centos7配置Redis(二主二从)
centos7配置Redis(二主二从)

配置从机哨兵:

vim sentinel.conf
daemonize yes
port 26379 (默认端口为26379)
slaveof 192.168.124.48 6379 2 (“2”代表如果有两个哨兵认为这台机器是主机的时候,这台机器就是主机)
protected-mode no

centos7配置Redis(二主二从)
centos7配置Redis(二主二从)

启动Redis和哨兵:(一台主机和两台从机启动哨兵,两台主机和两台从机启动redis)

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

centos7配置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个。
centos7配置Redis(二主二从)
从机显示自己角色为slave
centos7配置Redis(二主二从)
如果主机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'
当前状态谁是主机,谁就有写的权限

centos7配置Redis(二主二从)
其余三台从机,只有读的权限,没有写的权限
centos7配置Redis(二主二从)

key *
(在从机上应该都会显示主机刚刚创建的键值对 [qqq:zzz])
主机上已经创建了qqq这个键
centos7配置Redis(二主二从)
从机上都会显示qqq这个键

centos7配置Redis(二主二从)

判断是否为二主
宕掉主机 (kill掉主机进程)
哨兵会根据算法推选主机2 为主
redis-cli -h 192.168.124.104

info replication
centos7配置Redis(二主二从)
redis-cli -h 192.168.124.65
info replication
centos7配置Redis(二主二从)
将主机1启动

 ![](https://s1.51cto.com/images/blog/201908/14/7835121e35d3b72b9990d649251a2a58.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
 此时  主机1为从  它的主为主机2
 ![](https://s1.51cto.com/images/blog/201908/14/0e0d1e5cd72e021b630efc926416c3a9.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
 主机2宕机
 ![](https://s1.51cto.com/images/blog/201908/14/bd2814d434e5d9fd7764bd3fcc3b52f5.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

哨兵会推选主机1为主
centos7配置Redis(二主二从)
centos7配置Redis(二主二从)

实现高可用

只要192.168.124.48和192.168.124.104任意一台启动着,两个从机就永远不可能成为主机,只有当两台主机全都宕机,才会在两台从机中任意选举一个作为主机
两台主机全部宕机
哨兵会通过算法随机推选两个从机任意一个为主
从机2成为主
centos7配置Redis(二主二从)
从机1为从 显示它的主为从机1
centos7配置Redis(二主二从)
即使两台主机全部宕掉,业务也不会中断,哨兵会随机推选一个从作为主

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值