如何实现Redis主从+哨兵模式?
  50hLQNjm0cyO 2023年11月19日 39 0

Redis主从+哨兵模式是一种常见的Redis架构,主要用于实现数据的冗余备份、读写分离以及自动化的系统监控和故障恢复。

在主从+哨兵模式下,Redis系统包括一个主数据库(master)和多个从数据库(slave)。主数据库负责处理写请求,同时将数据复制给从数据库。从数据库则负责处理读请求,并在主数据库发生故障时接管写请求。

如何实现Redis主从+哨兵模式?_redis

搭建Redis主从+哨兵模式的架构需要以下步骤:


1.配置Redis主从:

在主数据库的redis.conf配置文件中,将“bind”设置为该主数据库所在服务器的IP地址,关闭“protected-mode”,设置密码等。在从数据库的redis.conf配置文件中,设置“bind”为该从数据库所在服务器的IP地址,关闭“protected-mode”,设置密码等。同时,需要将“slaveof”设置为主数据库的IP地址和端口号,以使从数据库成为主数据库的从数据库。

2.配置Redis哨兵:

打开redis.conf配置文件,找到“sentinel”部分,设置哨兵集群的IP地址和端口号。在哨兵节点的redis.conf配置文件中,设置“sentinel-master”为主数据库的名称,同时设置多个“sentinel-slave”为从数据库的名称。


3.启动Redis主从和哨兵服务:

启动主数据库服务。启动从数据库服务。启动哨兵服务并监控主从数据库的状态。可以使用多个哨兵节点来提高高可用性。


4.配置应用使用Redis主从+哨兵模式:

在应用程序中使用Redis客户端连接哨兵节点,获取主数据库的IP地址和端口号,以及密码等信息。根据需要,可以设置应用程序使用多个从数据库来提高读取性能。同时,也可以根据需要配置应用程序在主数据库故障时自动切换到其他可用从数据库。


5.测试Redis主从+哨兵模式的可用性和性能:

可以使用应用程序进行读写操作,并测试数据的正确性和性能。可以模拟主数据库故障,测试哨兵节点是否能够自动切换到其他可用从数据库。同时,测试应用程序是否能够正确处理故障转移事件。


6.调整优化Redis主从+哨兵模式的配置:

根据实际需求和性能测试结果,可以调整主从数据库的数量、分布和复制延迟等参数。同时,也可以调整哨兵节点的数量和分布来提高高可用性和故障恢复能力。可以使用Redis自带的命令行工具进行管理和调试,包括查看主从复制状态、测试故障转移等操作。


以下是实际操作演示:

#安装redis
wget http://download.redis.io/releases/redis-4.0.9.tar.gz
tar xzf redis-4.0.9.tar.gz -C /usr/local
cd /usr/local/redis-4.0.9
yum install -y make gcc
make&&make install

cp redis.conf redis.conf.bak
vim redis.conf
## ---修改如下,注意后面注释不要加进去
bind 0.0.0.0
daemonize yes     #开启后台模式将on改为yes
timeout 300      #连接超时时间
port 6379                      #端口号
databases 0                 #存储Session的Redis库编号 16
dir ./  #本地数据库存放目录该目录需要存在
pidfile /var/run/redis_6379.pid  #定义pid文件
logfile /var/log/redis_6379.log  #定义log文件
##配置redis为systemctl启动
cd /lib/systemd/system
vim redis.service
[Unit]
Description=Redis
After=network.target

[Service]
ExecStart=/usr/local/redis-4.0.9/src/redis-server  /usr/local/redis-4.0.9/redis.conf --daemonize no
ExecStop=/usr/local/redis-4.0.9/src/redis-cli -h 127.0.0.1 -p 6379 shutdown

[Install]
WantedBy=multi-user.target

#重新加载systemctl启动项
systemctl daemon-reload
#配置主从同步
cd /usr/local/redis-4.0.9
vim redis.conf
#所有装有redis的服务器都需要修改以下内容
bind 0.0.0.0
protected-mode no
#slave服务器也就是从服务器,都修改添加如下配置
slaveof 主服务器的内网IP
#配置哨兵模式
cd /usr/local/redis-4.0.9
vim sentinel.conf
sentinel monitor mymaster 192.168.19.129 6379 2 (slave上面写的是master的ip,master写自己ip)
sentinel down-after-milliseconds mymaster 3000
sentinel failover-timeout mymaster 10000
protected-mode no
#每台机器启动哨兵模式
./src/redis-sentinel sentinel.conf

关于奇墨ITQM

奇墨科技是全域数字资产质量管理服务商,核心团队来自成功的连续创业者、500强企业。作为国内首批云管理服务伙伴,凭借近20年的服务经验与专业技能,已累计为全国近万家企业提供云+服务,业务涵盖全国各行各业。

基于企业客户IT逐步向云和数据方向发展的趋势,奇墨科技在全球创新提出了ITQM(IT质量管理)概念和标准,并自研了ITQM数字资产运营平台,为企业提供全云管理、FinOps成本优化、AIOps智能运维、质量管理、业务洞察、数据安全等IT治理能力和服务,致力于打造敏捷高效、安全合规的全栈数字资产管理服务体系,以“上好云·用好云·管好云” 为服务理念,助力企业加速数字化转型。奇墨ITQM平台是业界第一个成功通过中国信通院《可信云•云成本优化工具能力要求第二部分 混合多云成本优化工具》评估的IT管理平台。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

50hLQNjm0cyO