Redis哨兵搭建-一文搞定

Linux版本:6.9
三台机器:10.211.55.7(主)、10.211.55.8、10.211.55.9
Resis版本:5.0.9 版本 (下载地址 wget http://download.redis.io/releases/redis-5.0.5.tar.gz)
普通用户:admin
超级管理员用户:root
一、安装Redis
  • 进入到用户目录下: cd /home/admin
  • 并将redis-5.0.5.tar.gz上传至文件目录下
  • 解压缩redis:tar -zxvf redis-5.0.5.tar.gz
  • 进入到Redis编译并安装:
  • cd redis-5.0.5
  • 查看是否有 :gcc -v
    • 没有gcc:yum install gcc
    • 有输出:不处理
  • 编译:make
  • 安装:make install
  • 到此无报错即Redis安装成功
二、配置哨兵(配置主从)
1、配置文件redis.conf,修改一下内容:
10.211.55.7:
  bind 10.211.55.7 #不建议使用127.0.0.1、
  protected-mode no #命令禁用保护模式。关闭保护模式,可以外部访问。
  daemonize yes #后台运行
  dir /data/redis/db #系统盘不够大的建议修改到大磁盘中,也可以不修改
   requirepass admin123456 主节点密码
10.211.55.8:配置文件redis.conf,修改一下内容:
  bind 10.211.55.8 #不建议使用127.0.0.1、
  protected-mode no #命令禁用保护模式。关闭保护模式,可以外部访问。
  daemonize yes #后台运行
  dir /data/redis/db #系统盘不够大的建议修改到大磁盘中,也可以不修改
  replicaof 10.211.55.7 6379 
  masterauth admin123456 #master密码
10.211.55.9:配置文件redis.conf,修改一下内容:
  bind 10.211.55.9 #不建议使用127.0.0.1、
  protected-mode no #命令禁用保护模式。关闭保护模式,可以外部访问。
  daemonize yes #后台运行
  dir /data/redis/db #系统盘不够大的建议修改到大磁盘中,也可以不修改
  replicaof 10.211.55.7 6379 
  masterauth admin123456 #master密码
2、启动Redis
        在三台机器的Redis安装目录下操作(!!!先启动主节点!!!)
        ./src/redis-server redis-conf
        连接主节点redis
        ./src/redis-cli -h 10.211.55.7 -p 6379 -a admin123456
        连接成功 输入 info Replication 可以看到如下集群相关配置信息
        # Replication
        role:master
        connected_slaves:2
        slave0:ip=10.211.55.8,port=6379,state=online,offset=102108006,lag=1
        slave1:ip=10.211.55.9,port=6379,state=online,offset=102108143,lag=1
        master_replid:808aa250d63d7d65c3aa2c3e8e386a21c19b6d43
        master_replid2:0000000000000000000000000000000000000000
        master_repl_offset:102108143
        second_repl_offset:-1
        repl_backlog_active:1
        repl_backlog_size:1048576
        repl_backlog_first_byte_offset:101059568
        repl_backlog_histlen:1048576
如果主节点可以连接上,试一下可不可以在主节点上连接上另外两个,如果有防火墙问题,三台机器均要做以下开通防火墙操作
sudo firewall-cmd --permanent --add-port=6379/tcp
sudo firewall-cmd --reload
3、配置redis哨兵
10.211.55.7:配置文件sentinel.conf,修改一下内容:
  protected-mode no #关闭保护模式,可以外部访问。
  daemonize yes #设置为后台启动。
  logfile /data/redis/log/sentinel.log #日志文件。系统盘不够大的建议修改到大磁盘中,也可以不修改。
  sentinel monitor mymaster 10.211.55.7 6379 2 #指定当有2台哨兵认为主机挂了,则对主机进行容灾切换。 注意:三台哨兵这里的ip配置均为主节点ip 和端口。
  sentinel auth-pass mymaster admin123456 #当在Redis实例中开启了requirepass,这里就需要提供密码。
  sentinel down-after-milliseconds mymaster 3000 #这里设置了主机多少毫秒无响应,则认为挂了。
  snetinel parallel-syncs mymaster 1 #主备切换时,最多有多少个slave同时对新的master进行同步,这里设置为默认的。
  sentinel failover-timeout mymaster 180000 #故障转移的超时时间,这里设置为三分钟。
10.211.55.8:配置文件sentinel.conf,修改一下内容:
  protected-mode no #关闭保护模式,可以外部访问。
  daemonize yes #设置为后台启动。
  logfile /data/redis/log/sentinel.log #日志文件。系统盘不够大的建议修改到大磁盘中,也可以不修改。
  sentinel monitor mymaster 10.211.55.7 6379 2 #指定当有2台哨兵认为主机挂了,则对主机进行容灾切换。 注意:三台哨兵这里的ip配置均为主节点ip 和端口。
  sentinel auth-pass mymaster admin123456 #当在Redis实例中开启了requirepass,这里就需要提供密码。
  sentinel down-after-milliseconds mymaster 3000 #这里设置了主机多少毫秒无响应,则认为挂了。
  sentinel parallel-syncs mymaster 1 #主备切换时,最多有多少个slave同时对新的master进行同步,这里设置为默认的。
  sentinel failover-timeout mymaster 180000 #故障转移的超时时间,这里设置为三分钟。
10.211.55.9:配置文件sentinel.conf,修改一下内容:
  protected-mode no #关闭保护模式,可以外部访问。
  daemonize yes #设置为后台启动。
  logfile /data/redis/log/sentinel.log #日志文件。系统盘不够大的建议修改到大磁盘中,也可以不修改。
  sentinel monitor mymaster 10.211.55.7 6379 2 #指定当有2台哨兵认为主机挂了,则对主机进行容灾切换。 注意:三台哨兵这里的ip配置均为主节点ip 和端口。
  sentinel auth-pass mymaster admin123456 #当在Redis实例中开启了requirepass,这里就需要提供密码。
  sentinel down-after-milliseconds mymaster 3000 #这里设置了主机多少毫秒无响应,则认为挂了。
  snetinel parallel-syncs mymaster 1 #主备切换时,最多有多少个slave同时对新的master进行同步,这里设置为默认的。
  sentinel failover-timeout mymaster 180000 #故障转移的超时时间,这里设置为三分钟。
4、启动Redis哨兵
在三台机器的Redis安装目录下操作(!!!先启动主节点!!!)
./src/redis-sentinel ./sentinel.conf
连接主节点redis
./src/redis-cli -h 10.211.55.7 -p 26379 -a admin123456
连接成功 输入 info Sentinel 可以看到如下信息
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=10.40.108.9:6379,slaves=2,sentinels=3
如果主节点可以连接上,试一下可不可以在主节点上连接上另外两个,如果有防火墙问题,三台机器均要做以下开通防火墙操作
sudo firewall-cmd --permanent --add-port=26379/tcp
sudo firewall-cmd --reload
5、验证是否主从同步
连接主节点
./src/redis-cli -h 10.211.55.7 -p 6379 -a admin123456
set testKey testValue
连接从节点
./src/redis-cli -h 10.211.55.8 -p 6379 -a admin123456
get testKey
输出 testValue
连接从节点
./src/redis-cli -h 10.211.55.9 -p 6379 -a admin123456
get testKey
输出 testValue
  • 13
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值