Redis主从哨兵部署手册
1、上传并编译
上传redis-2.8.19.tar.gz
tar -zxvf redis-2.8.19.tar.gz
cd redis-2.8.19
make
注意:
可能需要安装gcc 执行yum install gcc-c++)
如果出现zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory这样的错误,则需要 make MALLOC=libc
创建日志目录
mkdir -p /home/jyapp/redis-2.8.19/logs
2、部署建议
建议至少使用3台虚机(1主1从3哨兵)
1、主redis,1个哨兵
2、从redis,1个哨兵
3、1个哨兵
这种情况,当其中一台虚机完全宕机重启的情况下,也能够完成主从切换,使得redis可用
3、修改redis.conf、sentinel.conf 配置文件
主机 redis.conf 配置
daemonize 改为 yes //允许后台运行
protected-mode no
port 6379 不用改
pidfile 默认不用改
logfile 指定到 redis目录下的 “/home/jyapp/redis-2.8.19/logs/redis.log”
maxclients 4096 增加最大连接的客户端数量配置
tcp-keepalive 修改为 60
requirepass master123 //redis密码
bind 127.0.0.1
从机 redis.conf 配置
daemonize 改为 yes //允许后台运行
protected-mode no
port 6379 不用改 //根据实际情况
pidfile 默认不用改
logfile 指定到 redis目录下的 “/home/jyapp/redis-2.8.19/logs/redis.log”
maxclients 4096 增加最大连接的客户端数量配置
tcp-keepalive 修改为 60
masterauth master123 //主redis密码
requirepass master123 //redis密码
slaveof IP 端口 //注意:IP 为redis主机的服务器IP
bind 127.0.0.1
配置监听服务 sentinel.conf
主机,从机 保持一致即可
可以清空原配置文件,然后直接复制下面信息
主从机 都要配置上主机的IP和端口(如 主机IP 6379为主机的ip和端口):
port 26379
daemonize yes
protected-mode no (3.2版本之后需要添加)
logfile “/home/jyapp/redis-2.8.19/logs/sentinel.log”
dir /home/jyapp/redis-2.8.19/
sentinel monitor mymaster 主机IP 6379 2
sentinel down-after-milliseconds mymaster 8000
sentinel failover-timeout mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel deny-scripts-reconfig yes
sentinel auth-pass mymaster master123 //密码
3、启动
先启动主机的服务,再启动从机的服务
src/redis-server redis.conf
再启动监听服务
src/redis-sentinel sentinel.conf
可以用下列命令 来查看服务
src/redis-cli -p 6379 info
src/redis-cli -p 26379 info