配置redis主从复制以及哨兵配置

一、配置redis主从复制

搭建主从复制之前的准备工作

1.解压上传的redis压缩包到安装目录。

2.安装gcc环境。

由于redis是由C语言编写的,它的运行需要C环境,因此我们需要先安装gcc。安装命令如下:

yum install gcc-c++

3.进入到 /usr/local/redis-6.2.6/(我本地的redis安装目录) 目录下,进行编译与安装。

3.1.对解压后的文件进行编译
在这里插入图片描述
3.2.进入redis安装目录下的src文件夹,安装redis
在这里插入图片描述

4.修改redis安装目录中的配置文件redis.conf

4.1.bind 127.0.0.1注释掉,里的bind指的是只有指定的网段才能远程访问这个redis,注释掉后,就没有这个限制了。
4.2.protected-mode 改为no,默认是设置成yes的, 防止了远程访问
4.3.将daemonize属性改为yes,表示后台启动。

5.测试redis启动和客户端连接(安装redis后,redis-server和redis-cli已经存在于/usr/local/bin中,所以在任何地方都可以运行)

5.1 启动redis在这里插入图片描述5.2 redis客户端连接redis
在这里插入图片描述

说明redis已成功安装,并且使用OK。

停掉上面的redis服务,下面开始做主从复制。

1. 创建/myredis文件夹

在这里插入图片描述

2. 复制redis安装目录下的redis.conf配置文件到文件夹中

在这里插入图片描述

3. 配置一主两从,创建三个配置文件

redis6379.conf(主)内容

include /myredis/redis.conf
pidfile /var/run/redis_6379.pid
port 6379
dbfilename dump6379.rdb

redis6380.conf(从)内容

include /myredis/redis.conf
pidfile /var/run/redis_6380.pid
port 6380
dbfilename dump6380.rdb 

redis6381.conf(从)内容

include /myredis/redis.conf
pidfile /var/run/redis_6381.pid
port 6381
dbfilename dump6381.rdb

把三个服务启动起来,因为redis-server在/usr/local/bin中,所以直接启动

在这里插入图片描述

4. 配置主从服务

4.1客户端连接redis服务

打开三个新的窗口,用客户端连接这三个服务,命令分别如下:

redis-cli -p 6379
redis-cli -p 6380
redis-cli -p 6381

在6380和6381的窗口输入以下命令:
配从(库)不配主(库)

slaveof <ip><port>

成为某个实例的从服务器
在这里插入图片描述
在这里插入图片描述

4.2 info replication打印主从复制的相关信息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5. 验证主从服务器的读写

主服务器既可写也可读
在这里插入图片描述
从服务器只能读,不能写
在这里插入图片描述
在这里插入图片描述

以上是单纯的主从复制

二、哨兵配置(在第一步主从的基础上继续进行配置)

6. 配置哨兵sentinel

在/myredis目录下新建sentinel.conf文件,名字绝不能错。

6.1配置哨兵,填写内容

sentinel monitor mymaster 127.0.0.1 6379 1

其中mymaster为监控对象起的服务器名称,1为至少有多少个哨兵同间迁移的数量。

6.2启动哨兵

redis-sentinel在/usr/local/bin中,所以可以直接启动

redis-sentinel /myredis/sentinel.conf

在这里插入图片描述

6.3验证哨兵功能

停掉6379主服务器,6380从服务会升级为主服务器
启动6379服务后,6379是从服务器在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7. 从服务器升级为主机服务器的规则

(1) 选择优先级靠前的
redis.conf文件中有一个replica-priority,值越小优先级越高.
(2) (如果优先级相同)选择偏移量最大的(偏移量是指获得原主机数据最全的)
谁和主机同步数据值最高,谁优先成为主机。
(3) (如果优先级和偏移量相同)选择runid最小的从服务器
根据runid随机选择。
每个redis实例启动后都会随机生成一个40位的runid.
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值