赞
踩
redis2.6版本开始提供,稳定版本为2.8及之后。
至少需部署3个且奇数个哨兵节点;
哨兵进程作用:监控、提醒、自动故障转移,配置提醒者
优点:基于主从模式的升级,解决主从复制的缺陷
缺点:在线扩容困难、配置繁琐
本文档是在一台服务器上启动了6个实例进行演示。实际投产部署时,每个节点应该对应一台服务器,每个节点配置为自己主机的IP信息即可。
注:默认使用root权限账户进行安装部署
添加信息如下
#928注释
port 7000
daemonize yes
pidfile /usr/local/redis-sentinel/run/redis-7000.pid
logfile /usr/local/redis-sentinel/log/redis-7000.log
dir /usr/local/redis-sentinel/data
本文档主从节点在同一服务器,实际生成部署时需要替换为主节点IP和端口
#928注释
port 7001
daemonize yes
pidfile /usr/local/redis-sentinel/run/redis-7001.pid
logfile /usr/local/redis-sentinel/log/redis-7001.log
dir /usr/local/redis-sentinel/data
slaveof 127.0.0.1 7000
vim /usr/local/redis-sentinel/redis-7002.conf #新建配置文件
#928注释
port 7002
daemonize yes
pidfile /usr/local/redis-sentinel/run/redis-7002.pid
logfile /usr/local/redis-sentinel/log/redis-7002.log
dir /usr/local/redis-sentinel/data
slaveof 127.0.0.1 7000
/usr/local/redis-sentinel/下 新建 bin bin下存储的文件 redis-benchmark,redis-check-aof,redis-check-rdb,redis-cli,redis-sentinel,redis-cli log run conf 将redis的配置文件放到conf文件夹下 redis-7000.conf redis-7001.conf redis-7002.conf 后三个配置文件为后边配置,此处表面都在该目录下 redis-sentinel-26379.conf redis-sentinel-26380.conf redis-sentinel-26381.conf
找到/usr/local/redis-sentinel/bin
因为该目录下有redis-server
开始启动主从节点
redis-server /usr/local/redis-sentinel/redis-7000.conf
redis-server /usr/local/redis-sentinel/redis-7001.conf
redis-server /usr/local/redis-sentinel/redis-7002.conf
ps -ef | grep redis 查看redis节点进程信息
下图前三个为启动的redis进程,后三个还没有启动
分别连接主从节点客户端,在客户端使用info replication 命令查看角色信息
/usr/local/redis-sentinel/bin
在该目录下有redis-cli,执行如下命令
./redis-cli -p 7000
ping
info replication
退出用quit
查看主机节点信息如下:
./redis-cli -p 7001
ping
info replication
退出用quit
Slave1从节点信息如下
./redis-cli -p 7002
ping
info replication
退出用quit
Slave2从节点信息如下
注意:
#拷贝Sentinel配置文件
此处会用到redis-sentinel
将redis-sentinel文件复制到新建的配置文件/usr/local/redis-sentinel/conf/ 下
如果没有找到该文件,则去/usr/local/redis/src下找,前边已经将该文件放到/usr/local/redis/bin下
cp /usr/local/redis/bin/redis-sentinel.conf /usr/local/redis-sentinel/conf/
将redis-sentinel文件通过以下命令进行拷贝
cd /usr/local/redis-sentinel/conf
(也就是sentinel.conf存在的目录)
#拷贝文件并去除空行和注释
cat sentinel.conf | grep -v “#” | grep -v “^$” > redis-sentinel-26379.conf
cat sentinel.conf | grep -v “#” | grep -v “^$” > redis-sentinel-26380.conf
cat sentinel.conf | grep -v “#” | grep -v “^$” > redis-sentinel-26381.conf
执行完以上三条命令后,会出现相应的的xxx-xxx-xxx.conf文件
然后进行对其编辑
vim redis-sentinel-26379.conf,#修改后配置信息如下
里边的信息与下图不一致,需要重新看这几个位置,自己配置,路径是文件的路径
vim redis-sentinel-26379.conf,#修改后配置信息如下
里边的信息与下图不一致,需要重新看这几个位置,自己配置,路径是文件的路径
vim redis-sentinel-26379.conf,#修改后配置信息如下
里边的信息与下图不一致,需要重新看这几个位置,自己配置,路径是文件的路径
注意:
cd /usr/local/redis-sentinel/bin
因为此目录下有之前复制过来的 redis-sentinel文件
若没有,则去安装reids的目录下的src下寻找,如果没有此处应该从
/usr/local/redis/src 下寻找redis-sentinel文件
redis-sentinel redis-sentinel-26379.conf
redis-sentinel redis-sentinel-26380.conf
redis-sentinel redis-sentinel-26381.conf
# 查看哨兵进程信息
ps -ef | grep redis-sentinel
如下图
(8)查看哨兵模式集群信息
# 查看哨兵模式各节点进程信息
ps -ef | grep redis
如下图
cd /usr/local/redis-sentinel/bin
#使用redis客户端连接到Sentinel
ping
./redis-cli -p 26379
如下图
连接后使用ping命令查看redis主从服务是否正常;返回PONG正常
使用
info sentinel 查看哨兵配置信息
可以看到本集群已搭建好:3各sentinel、一个master节点、两个slave节点
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。