docker+redis主从与哨兵配置

redis主从

 主一从配置

    主节点IP:192.168.198.131

  从节点IP:192.168.198.132

  端口使用默认6379

节点1 节点2 全部执行以下命令,不同的地方有标注。

vim redis.conf     //修改以下内容,不是必须的

bind  192.168.198.131   //两台主机分别改为自己的IP
logfile  "/data/redis/logs/redis.log"
daemonize yes   //启用守护模式
protected-mode no   //protected-mode 是3.2 之后加入的新特性,为了禁止公网访问redis cache,加强redis安全的。根据自己需要配置,它启用的条件,有两个,没有bind IP 以及没有设置访问密码。

requirepass  "admin.123"    //设置redis登录密码
masterauth  "admin.123"   //主从认证密码,否则主从不能同步

//以下只有 Slave 添加就行。
slaveof 192.168.198.131 6379
slave-read-only yes   //slave 默认就是只读的,这里不用管。

检查主从状态

~]# redis-cli  -c -h 192.168.198.131 -p 6379
192.168.198.131:6379> info replication
# Replication
role:master
connected_slaves:1
slave0:ip=192.168.198.132,port=6379,state=online,offset=5700675,lag=0
master_repl_offset:5700675
repl_backlog_active:1
repl_backlog_size:10000000
repl_backlog_first_byte_offset:1
repl_backlog_histlen:5707674

redis哨兵模式

 Redis Sentinel  配置

vim sentinel.conf   //在redis的根目录下

port 26379
daemonize yes
protected-mode no   //保护模式如果开启只接受回环地址的ipv4和ipv6地址链接,拒绝外部链接,而且正常应该配置多个哨兵,避免一个哨兵出现独裁情况,如果配置多个哨兵那如果开启也会拒绝其他sentinel的连接。导致哨兵配置无法生效。
logfile "/data/redis/logs/sentinel.log"      //指明日志文件
dir "/data/redis/sentinel"
sentinel monitor mymaster 192.168.198.131 6379 1   //哨兵监控的master。
sentinel down-after-milliseconds mymaster 5000     //master或者slave多少时间(默认30秒)不能使用标记为down状态。
sentinel failover-timeout mymaster 9000    //若哨兵在配置值内未能完成故障转移操作,则任务本次故障转移失败。
sentinel parallel-syncs mymaster 1    //指定了在执行故障转移时, 最多可以有多少个从服务器同时对新的主服务器进行同步
sentinel auth-pass mymaster redispass   //如果redis配置了密码,那这里必须配置认证,否则不能自动切换

 Sentinel参数在运行时可以使用SENTINEL SET命令更改上面配置中的mymaster为该主从的名字,代码中会使用。

 

启动哨兵服务


//方式一:
/data/redis/src/redis-sentinel /data/redis/sentinel.conf    //启动服务(推荐,这种方式启动和redis实例没有任何关系)
//方式二:
redis-server /data/redis/sentinel.conf --sentinel
//如果有下面报错  启动命令后面要加上  --sentinel
*** FATAL CONFIG FILE ERROR ***
Reading the configuration file, at line 6
>>> 'sentinel monitor mymaster 192.168.198.131 6379 1'
sentinel directive while not in sentinel mode

 

通过哨兵查看集群的信息:

sentinel master mymaster//查看master的状态 
SENTINEL slaves mymaster //查看salves的状态
SENTINEL sentinels mymaster //查看哨兵的状态
SENTINEL get-master-addr-by-name mymaster//获取当前master的地址
info sentinel//查看哨兵信息

 多个哨兵配置文件一样,正常情况下要配置奇数哨兵,避免切换时候票数相同,出现竞争,影响线上业务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值