redis主从配置

1.安装redis主,修改redis.conf  

    a. 注释 bind 127.0.0.1

    b. 设置保护模式  protected-mode no, 守护进程daemonize no(建议)

    c. 设置密码 requirepass 123456

2.安装redis从,修改redis.conf

    a. 注释 bind 127.0.0.1

    b. 设置保护模式  protected-mode no, 守护进程daemonize no(建议)

    c. 设置密码 requirepass 123456

    d. 修改端口为6380

    e. 打开slaveof 127.0.0.1 6379

    f. 打开 masterauth 123456

3. 修改从服务器sentinel.conf,为了容灾(高可用),避免主服务器挂了,提供一个主从切换(哨兵)

主:

复制代码
port 26379
dir "/usr/local/redis-6379"
# 守护进程模式
daemonize yes
# 指明日志文件名
logfile "./sentinel.log"
sentinel monitor mymaster 192.168.137.40 6379 1
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 18000
sentinel auth-pass mymaster 123456
# Generated by CONFIG REWRITE
sentinel config-epoch mymaster 0
sentinel leader-epoch mymaster 1
sentinel known-slave mymaster 192.168.137.40 6380
sentinel known-sentinel mymaster 192.168.137.40 26380 c77c5f64aaad0137a228875e531c7127ceeb5c3f
sentinel current-epoch 1
复制代码

从:

复制代码
#sentinel端口
port 26380
#工作路径
dir "/usr/local/redis-6380"
# 守护进程模式
daemonize yes
# 指明日志文件名
logfile "./sentinel.log"
#哨兵监控的master,主从配置一样,在进行主从切换时6379会变成当前的master端口,
sentinel monitor mymaster 192.168.137.40 6379 1
# master或slave多长时间(默认30秒)不能使用后标记为s_down状态。
sentinel down-after-milliseconds mymaster 5000
#若sentinel在该配置值内未能完成failover操作(即故障时master/slave自动切换),则认为本次failover失败。
sentinel failover-timeout mymaster 18000
#设置master和slaves验证密码
sentinel auth-pass mymaster 123456
#哨兵程序自动添加的部分
# Generated by CONFIG REWRITE
sentinel config-epoch mymaster 0
sentinel leader-epoch mymaster 1
###指明了当前群集的从库的ip和端口,在主从切换时该值会改变
sentinel known-slave mymaster 192.168.137.40 6380
###除了当前的哨兵还有哪些监控的哨兵
sentinel known-sentinel mymaster 192.168.137.40 26379 7a88891a6147e202a53601ca16a3d438e9d55c9d
sentinel current-epoch 1

3. 分别启动主从服务器

    注:为了避免从服务器启动时,提示6379 被占用(此时主已经启动)

    从服务器启动方式: /usr/redis/slaveRedis/src/redis-server /user/redis/slaveRedis/redis.conf  就可以避免报错

    启动从服务器哨兵进程 : /usr/redisCluster/slaveRedis1/src/redis-server /usr/redisCluster/slaveRedis1/sentinel.conf --sentinel&

4. 按照以上步骤配置,便可实现redis主从同步,读写分离;

    a . 在主服务器写入

      

    b. 在从服务器获取

    

    c. 从服务器没有写入权限

    

    d. 若主从服务器配置均正常,而从服务器启动提示同步失败,如下:

    Error reply to PING from master: '-DENIED Redis is running in protected mode because protected mode is enabled, no bind address was specified, no authentication password is requested to clients. 
In this mode connections are only accepted from the loopback interface. If you want to connect'

    【解决方法】    

        直接在主服务器客户端操作

        127.0.0.1:6379> auth 123456

        ERR Client sent AUTH, but no password is set

        设置其密码

        redis 127.0.0.1:6379> CONFIG SET requirepass "123456"
        OK
        redis 127.0.0.1:6379> AUTH 123456
        Ok



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值