本地安装redis 配置集群和哨兵
1、下载安装redis
#wget http://download.redis.io/releases/redis-5.0.12.tar.gz #下载安装包
#yum -y install gcc #安装依赖包
#tar -zxvf redis-5.0.12.tar.gz
#cd redis-5.0.12
#make
2、主备配置
我们采用一主两备的结构
主机 192.168.3.243
备机 192.168.3.56 192.168.3.247
对应修改redis.conf,其他内容保持不动
主机redis.conf
bind 0.0.0.0
protected-mode no
两台备机redis.conf
bind 0.0.0.0
protected-mode no
replicaof 192.168.3.243 6379 #主机IP和端口
分别启动redis-server主进程
[root@master redis-5.0.12]# nohup src/redis-server redis.conf &
主机进入redis查看主备信息
[root@master redis-5.0.12]# src/redis-cli -h 192.168.3.243
192.168.3.243:6379> info replication
#Replication
role:master
connected_slaves:2
slave0:ip=192.168.3.56,port=6379,state=online,offset=25457,lag=0
slave1:ip=192.168.3.247,port=6379,state=online,offset=25316,lag=0
master_replid:6458baeacf84f024ff49fecadd40973490af107a
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:25457
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:25457
192.168.3.243:6379>
备机3.56查看主备信息
[root@slave-1 redis-5.0.12]# src/redis-cli -h 192.168.3.56
192.168.3.56:6379> info replication
#Replication
role:slave
master_host:192.168.3.243
master_port:6379
master_link_status:up
master_last_io_seconds_ago:0
master_sync_in_progress:0
slave_repl_offset:26737
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:6458baeacf84f024ff49fecadd40973490af107a
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:26737
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:26737
192.168.3.56:6379>
3、哨兵配置
对应修改哨兵配置文件/home/redis-5.0.12/sentinel.conf 以下内容
#vi sentinel.conf
port 26379
daemonize yes
pidfile “/var/run/redis-sentinel.pid”
logfile “/var/log/redis-sentinel.log”
dir “/tmp”
sentinel deny-scripts-reconfig yes
sentinel monitor master01 192.168.3.243 6379 2 #哨兵监控masterIP,和确认掉线的哨兵个数
sentinel down-after-milliseconds master01 10000 #超时时间设置为10秒(默认30秒)
protected-mode no
三台服务器(一主两备)分别启动哨兵进程
#src/redis-sentinel ./sentinel.conf
这里我们停用主机192.168.3.243,看是否会出现主备状态切换
再进入备机3.56查看主备信息,这时可以看到3.56的状态已经从slave切换到master
再次启动主机redis服务
我们现在手动关闭3.56这个master节点,哨兵会帮我们自动将3.243节点从slave角色变更为master角色
OK,至此我们的redis哨兵集群配置成功完成!