redis-集群-2-哨兵模式

三台哨兵、三台redis服务器。

一、redis配置

主redis配置:

cd /etc/redis

sudo vi redis.conf

#配置内容

port 6379

daemonize yes       #开启保护进程
protected-mode  no  # 进行主从复制。

bind 192.168.137.140 #绑定的IP,服务器的公网IP

requirepass Huawei@123#设置密码,主从密码设置一样

从redis配置:

port 6379

daemonize yes       #开启保护进程
protected-mode  no  # 进行主从复制。

bind 192.168.137.141#绑定的IP,服务器的公网IP

requirepass Huawei@123#设置密码,主从密码设置一样

#

#从redis要多配置

masterauth     Huawei@123   #主redis的密码
slaveof            192.168.137.140 6379    #主IP 主端口

启动reids的客户端

>redis-cli -h 192.168.137.140 -p 6379

>redis-cli -h 192.168.137.141 -p 6379

>redis-cli -h 192.168.137.142 -p 6379

二、哨兵配置

配置哨兵,sentinel.conf文件

cd /etc/redis

sudo vi sentinel.conf  #文件名不能错

最简单的配置:

sentinel monitor myredis 192.168.137.140 6379 1
sentinel auth-pass myredis Huawei@123#主从机密码设置一样

启动哨兵

cd /etc/redis

sudo redis-sentinel  ./sentinel.conf

启动可能遇到的报错:

5151:X 30 Jul 22:10:41.425 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
5151:X 30 Jul 22:10:41.425 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=5151, just started
5151:X 30 Jul 22:10:41.425 # Configuration loaded
5151:X 30 Jul 22:10:41.427 * Increased maximum number of open files to 10032 (it was originally set to 1024).
5151:X 30 Jul 22:10:41.427 # Creating Server TCP listening socket *:26379: bind: Address already in use

主要报错:

5151:X 30 Jul 22:10:41.427 # Creating Server TCP listening socket *:26379: bind: Address already in use

解决方法:

ps -aux|grep 26379

找到进程号,假设是6374

sudo kill -9 6374  #把占用了26379端口的进程强制杀掉

三、测试

进入主redis中,shutdown,模拟主redis出故障,等待几分钟,查看是否自动选举出新的主redis

192.168.137.140:6379> auth Huawei@123  #输入密码才能进入

192.168.137.140:6379> shutdown

192.168.137.141:6379> auth Huawei@123

192.168.137.141:6379> info  replication 

role:master   #角色,是主服务器
connected_slaves:1  #连接的从服务器数
slave0:ip=192.168.137.142,port=6380,state=online,offset=318500,lag=1

你可能感兴趣的:(redis,redis)