我的编程空间,编程开发者的网络收藏夹
学习永远不晚

部署redis主从集群并开启哨兵模式

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

部署redis主从集群并开启哨兵模式

一、部署环境
系统:centos7
通过在Linux系统上启动两个不同的redis实例来完成主从集群的部署
yum源已部署

二、redis的下载与安装
1、下载:官网下载
2、安装
创建/app/目录,redis安装在/app/目录下

[root@liyg ~]# mkdir /app
[root@liyg ~]# cd /usr/local/class="lazy" data-src/
[root@liyg class="lazy" data-src]# ls
redis-4.0.11.tar.gz
[root@liyg class="lazy" data-src]# tar zxf redis-4.0.11.tar.gz -C /app/
[root@liyg~]# yum install -y gcc*
[root@liyg ~]# cd /app/redis-4.0.11/
[root@liyg redis-4.0.11]# make
[root@liyg redis-4.0.11]# make install

3、通过配置不同端口,来启动不同实例

[root@liyg ~]# mkdir /app/redis_replication
[root@liyg ~]# mkdir /app/redis_replication/7001_master
[root@liyg ~]# mkdir /app/redis_replication/7002_slave
[root@liyg ~]# cp /app/redis-4.0.11/redis.conf /app/redis_replication/7001_master/
[root@liyg ~]# cp /app/redis-4.0.11/redis.conf /app/redis_replication/7002_slave/

编辑master配置文件

[root@liyg ~]# cd /app/redis_replication/
[root@liyg redis_replication]# vim 7001_master/redis.conf
    #修改端口6379为7001
    dir /app/redis_replication/7001_master
    pidfile /var/run/redis_7001.pid
    logfile "/app/redis_replication/7001_master/7001.log"
    protected-mode no   ##yes改为no  关闭安全模式
    daemonize yes    ##以守护进程方式启动
    requirepass qwer1234   ##开启密码认证
    masterauth qwer1234    ##当开启哨兵模式时需要添加,以免slave升级为master时不能同步

编辑slave配置文件

[root@liyg redis_replication]# vim 7001_master/redis.conf
    #端口改为7002
    dir /app/redis_replication/7002_slave
    pidfile /var/run/redis_7002.pid
    logfile "/app/redis_replication/7002_slave/7002.log"
    protected-mode no
    masterauth qwer1234   ##同步master时所需密码
    requirepass qwer1234   ##开启密码认证
    slaveof 127.0.0.1 7001  ##新增

启动redis

[root@liyg redis_replication]# redis-server 7001_master/redis.conf 
2521:C 03 Dec 15:50:54.660 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
2521:C 03 Dec 15:50:54.661 # Redis version=4.0.11, bits=64, commit=00000000, modified=0, pid=2521, just started
2521:C 03 Dec 15:50:54.661 # Configuration loaded
[root@liyg redis_replication]# redis-server 7002_slave/redis.conf 
2530:C 03 Dec 15:51:07.037 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
2530:C 03 Dec 15:51:07.037 # Redis version=4.0.11, bits=64, commit=00000000, modified=0, pid=2530, just started
2530:C 03 Dec 15:51:07.037 # Configuration loaded

4、验证

[root@liyg redis_replication]# redis-cli -p 7001 -a qwer1234 info replication
role:master
connected_slaves:1
slave0:ip=127.0.0.1,port=7002,state=online,offset=70,lag=1

[root@liyg redis_replication]# redis-cli -p 7002 -a qwer1234 info replication
master_host:127.0.0.1
master_port:7001
...

在master创建KEY查看slave是否同步

[root@liyg ~]# redis-cli -p 7001 -a qwer1234 set k1 t1
OK
[root@liyg ~]# redis-cli -p 7002 -a qwer1234 get k1
"t1"

至此,redis主从配置完成

三、配置redis主从哨兵模式

[root@liyg app]# cp redis-4.0.11/sentinel.conf redis_replication/
[root@liyg app]# vim redis_replication/sentinel.conf 

protected-mode no  ##关闭安全模式
sentinel monitor mymaster 127.0.0.1 7002 1 
sentinel auth-pass mymaster qwer1234 ##当redis主从集群有密码验证时开启

启动

 [root@liyg app]# redis-sentinel redis_replication/sentinel.conf 

验证

关闭master7001端口,查看7002端口是否通过哨兵升级为master

[root@liyg redis_replication]# redis-cli -p 7001 -a qwer1234 shutdown

当master关闭时,可看到哨兵的输出内容

...
2138:X 04 Dec 09:59:15.625 # +failover-end master mymaster 127.0.0.1 7001
2138:X 04 Dec 09:59:15.625 # +switch-master mymaster 127.0.0.1 7001 127.0.0.1 7002
2138:X 04 Dec 09:59:15.625 * +slave slave 127.0.0.1:7001 127.0.0.1 7001 @ mymaster 127.0.0.1 7002
2138:X 04 Dec 09:59:18.645 # +sdown slave 127.0.0.1:7001 127.0.0.1 7001 @ mymaster 127.0.0.1 7002

[root@liyg redis_replication]# redis-cli -p 7002 -a qwer1234 info replication

role:master
connected_slaves:0

可以看到原来的slave7002已升级为master,再次启动7001实例

[root@liyg redis_replication]# redis-server 7001_master/redis.conf 

[root@liyg redis_replication]# redis-cli -p 7001 -a qwer1234 info replication

role:slave
master_host:127.0.0.1
master_port:7002

7001已变为7002的从库,至此,验证成功

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

部署redis主从集群并开启哨兵模式

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Redis从单点到集群部署模式(单机模式 主从模式 哨兵模式)

目录导读单机模式优势劣势主从模式优势劣势哨兵模式优势劣势集群模式优势劣势全量复制部分复制导读Redis 从单点 -> 集群总共有三个部署模式:单机模式,主从模式,哨兵模式,集群模式单机模式新手入门模式。单机模式意味着 Redis 是单
Redis从单点到集群部署模式(单机模式 主从模式 哨兵模式)
2023-11-08

阿里云ECS部署Redis主备哨兵集群遇到的问题

一、部署详细部署步骤:https://blog.csdn.net/lihongtai/article/details/82826809Redis5.0版本需要注意的参数配置:https://www.cnblogs.com/ibethfy/p/9965902.h
2014-07-24

编程热搜

目录