您的位置:首页 > 数据库 > Redis

Redis主从配置-Linux环境

2015-09-09 14:43 741 查看
一、搭建环境:

Linux CentOS6.5

Redis V2.8.13

在一台机器上模拟,所以redis的端口号需要修改,master的为6379,salve的为6380

二、搭建步骤:

1、安装好redis后,在redis下新建一个conf文件夹【mkdir conf】,将根目录下的redis.conf复制到conf中;

2、将conf目录下的redis.conf配置文件复制2份,分别命名为redis-master.conf以及redis-salve.conf;

3、redis-master.conf文件中的配置暂不需要该,如果个人想修改原配置或者新增配置另说;

4、修改redis-salve.conf,主要的修改以下方面:

①将端口修改成6380;

②加上 : salveof 本机IP master端口号 【例如:salveof 192.168.100.77 6379】

5、添加redis sentinel集群监控配置文件 : redis-sentinel.conf;配置如下:

port 26379     # 监听地址
dir "/tmp"     # 工作目录
sentinel monitor mymaster 127.0.0.1 6379 1       # 监控的地址是127.0.0.1,端口是6379, 主redis是mymaster(随意), 1表示有一个哨兵发现有问题即有问题, 需要failover
sentinel down-after-milliseconds mymaster 5000   # 表示如果5s内mymaster没响应,就认为SDOWN(Subjective Down)
sentinel failover-timeout mymaster 15000         # 表示如果15秒后,mysater仍没活过来,则启动failover,从剩下的slave中选一个升级为master
sentinel parallel-syncs mymaster 1               # 表示如果master重新选出来后,其它slave节点能同时并行从新master同步缓存的台数有多少个


到这里redis 的 sentinel集群环境已经搭建好了,接下来进行测试搭建是否成功。

三、测试

1、启动sentinel监听 : ./redis-server ../conf/redis-sentinel.conf --sentinel;

2、启动master : ./redis-server ../conf/redis-master.conf

3、启动salve : ./redis-server ../conf/redis-salve.conf

4、登录master终端,写入一个字符串



5、登录salve终端,执行keys * 操作,查看在master中加入的testString是否存在



6、在salve终端尝试写入一个字符串,会发现无法操作,因为redis-salve.conf配置文件中定义salve为只读状态





7、我们停止master服务器来模拟主服务器当机的情况,执行命令 ./redis-server redis-master.conf shutdown



8、此时原来端口为6380的salve服务器成为了master服务器,redis-sentinel监控日志中的日志输出:



9、再打开端口为6380的服务终端,并尝试写入一个字符串,发现写入成功



10、再次打开端口为6379的服务器,redis-sentinel监控日志中的日志输出:



显示当前6379服务器为salve,而6380服务器为master

11、打开salve终端,执行keys * 操作,查看master插入的string是否能够获取,并尝试写入一个字符串



发现无法写入,因为此时端口为6379的服务器由原先的master已经成为salve。

【Redis sentinel集群服务,会把上次的master加入到服务中,但是它不再是master,而是变成了salve】
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: