Redis哨兵模式详细部署

					****Redis哨兵模式完整部署****
注:本文在这里用到的时Redis-3.2.12
一、基础环境
	1、三台Centos7
	2、安装编译环境	

yum -y install gcc gcc-c++
二、部署Redis
1、上传源码包到主机
redis-3.2.12.tar
2、解压
tar -zxf redis-3.2.12.tar
3、切换到解压目录进行编译安装
cd redis-3.2.12/
make && make install PREFIX=/usr/local/redis
4、三台主机可拷贝配置文件

mkdir /usr/local/redis/{conf,data,logs}
cp *.conf /usr/local/redis/conf
5、编辑配置文件
cd /usr/local/redis/conf
5.1、配置redis
vim redis.conf

##主节点: 
bind 0.0.0.0
protected-mode no
timeout 30
daemonize yes
#后台运行
slave-priority 100				#415行
appendonly yes
dir /usr/local/redis/data
requirepass "redis123"
masterauth "redis123"
#这两个密码要一致
logfile "/usr/local/redis/logs/redis_master.log"
##两个从节点一样:
bind 0.0.0.0
protected-mode no
timeout 30
daemonize yes
slave-priority 90
appendonly yes			594行
dir /data/usr/redis/data
slaveof 192.168.25.120 6379
requirepass "redis123"
masterauth "redis123"
logfile "/data/usr/redis/logs/redis.log"

5.2、配置哨兵(主从都需要配置,并且都是一样的)
vim sentinel.conf
protected-mode no
daemonize yes
logfile “/usr/local/redis/logs/sentinel.log”
sentinel monitor mymaster 192.168.25.120 6379 2
#设置 主名称 master的ip地址 端口号 参入选举的哨兵数
sentinel auth-pass mymaster redis123

6、启动(注意防火墙)
将redis服务启动:先启动master再启动slave

/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf

小提示: 可做软链接方便使用:
ln -s /usr/local/redis/bin/redis-server /usr/bin/server
ln -s /usr/local/redis/bin/redis-cli /usr/bin/cli

查看redis服务状态:(最好直接登录客户端使用命令info查看)

/usr/local/redis/bin/redis-cli -h 192.168.25.120 -p 6379 -a redis123 info replication 
/usr/local/redis/bin/redis-cli -h 192.168.25.130 -p 6380 -a redis123 info replication 
/usr/local/redis/bin/redis-cli -h 192.168.25.140 -p 6381 -a redis123 info replication 

7、启动sentinel服务:
先启动redis服务再启动sentinel服务,关闭则是反过来的,先关闭sentinel服务,再关闭redis服务。

/usr/local/redis/bin/redis-sentinel /usr/local/redis/conf/sentinel.conf 

查看哨兵服务状态

/usr/local/redis/bin/redis-cli -h 192.168.25.120 -p 26379 info sentinel
/usr/local/redis/bin/redis-cli -h 192.168.25.130 -p 26380 info sentinel
/usr/local/redis/bin/redis-cli -h 192.168.25.140 -p 26381 info sentinel

报错:
解决:启动时加–sentinel
server /usr/local/redis/conf/sentinel.conf --sentinel

8、测试

8.1、同步测试
主节点:

##登录master客户端,注意要指定密码
/usr/local/redis/bin/redis-cli -h 192.168.25.120 -p 6379 -a redis123


		192.168.25.120:6379> set name kkk
		从节点:
		
		192.168.25.130:6380> keys *
		1) "name"
		192.168.25.140:6381> get name
		"kkk"
		192.168.25.140:6381> keys *
		1) "name"
		192.168.25.140:6381> get name
		"kkk"

8.2、从库只读测试
192.168.25.130:6380> set bname yyy
(error) READONLY You can’t write against a read only slave.

	192.168.25.140:6381> set bname yyy
	(error) READONLY You can't write against a read only slave.

8.3、冗余测试
测试停止主redis,发现其中一个从变为主,启动停止的服务后发现为从服务,主服务不变。
停止一个节点sentinel服务,之后再停止主服务,发现其中一个从服务升级为主服务
停止哨兵服务命令
/usr/local/redis/bin/redis-cli -h 192.168.25.120 -p 26379 shutdown
停止redis服务命令
/usr/local/redis/bin/redis-cli -h 192.168.25.120 -p 6379 -a redis123 shutdown

查看剩下的redis服务中有没有没有产生master服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值