首页 > 代码库 > redis sentinel哨兵模式集群搭建教程

redis sentinel哨兵模式集群搭建教程

1.环境说明

我们将使用192.168.220.128、192.168.220.129、192.168.220.130三台机器搭建sentinel集群

当前我们已在192.168.220.128上按redis安装教程安装了redis,192.168.220.129和192.168.220.130两台上没有安装

 

2.配置并启动192.168.220.128上的sentinel

2.1修改conf/redis.conf,配置masterauth字段值

技术分享

2.2修改conf/sentinel.conf,配置以下字段的值

port 26379
logfile "/usr/myapp/redis-2.8.17/sentinel.log"  
sentinel announce-ip 192.168.220.128  
sentinel monitor mymaster 192.168.220.128 6379 2  
sentinel auth-pass mymaster yourpasswd

2.3为了方便把sentinel启动脚本写到adm目录下

cd adm

cat > start_sentinel << EOF
../bin/redis-sentinel ../conf/sentinel.conf
EOF

 

3.在129和130部署redis

3.1将128上的redis打包发送到129和130上

tar -cf redis.tar redis-2.8.17
scp redis.tar root@192.168.220.129:/usr/myapp
scp redis.tar root@192.168.220.130:/usr/myapp

 

 3.2修改配置文件中的ip地址(以129为例,130类似操作)

修改conf/redis.conf,将bind的IP修改为本机网卡IP:

技术分享

修改conf/sentinel.conf,将sentinel announce-ip值修改为本机IP

技术分享

 

4.启动集群

到128、129和130三台机器redis的adm文件夹下分别执行./start_redis和./start_sentinel,启动redis和sentinel服务即可。

redis是数据库服务,sentinel相当于哨兵作用,两者相互独立;sentinel监视redis服务如果sentinel查看到集群的master(假如是128)停止则三个sentinel会商量选出由129还是130上的redis充当master。

如果redis服务停止之前是master,当其重新启动后不再是master而是变成各sentinel新选举出来的master的slave。

master和slave的区别是master可读写,slave只可读;其实通过配置slave也可读写,所以最为严谨的说法是master和slave的区别是,slave同步master的操作而master不会同步slave的操作slave之间也不会互相同步操作。

 

参考:

http://blog.csdn.net/ownfire/article/details/51546543

https://segmentfault.com/a/1190000002680804

redis sentinel哨兵模式集群搭建教程