之前的文章已经详细的介绍了搭建单机版的redis,在单机版redis安装和部署略过,直接进入主从配置:
我是在三台机子上分别安装了redis ,端口为6379(主)、6380(从)、6381(从)在设置从redis(6380、6381)redis.conf配置文件时,
在两个文件最下方添加个:
slaveof #.#.#.#(主redis的IP) 6379 (设置监听的主进程)
若主进程设置了访问密码,还需要设置
masterauth ##(主进程的密码)
分别启动主从redis
验证一下主从关系是否搭建成功
cd /usr/ local /redis-3.2.8 /src
redis-cli -p 6379
如有密码还需输入密码
auth ###
set 一个值aa等于123
在另两台从redis中get出aa等于123,则证明主从关系搭建成功
哨兵(sentinel)机制实现高可用
cd /usr/ local /redis-6379
创建sentinel.conf文件
vim sentinel.conf
添加配置:
#entinel端口
port 26379
#工作路径,注意路径不要和主重复
dir "/usr/local/redis-6379"
# 守护进程模式
daemonize yes
#关闭保护模式
protected-mode no
# 指明日志文件名
logfile "./sentinel.log"
#哨兵监控的master,主从配置一样,这里只用输入redis主节点的ip/port和法定人数。
sentinel monitor mymaster 10.9.2.46 6379 1
#设置master和slaves验证密码
sentinel auth-pass mymaster 123 (如果redis没设置密码,则不用设置)
#指定了在执行故障转移时, 最多可以有多少个从服务器同时对新的主服务器进行同步
sentinel down-after-milliseconds mymaster 5000
启动哨兵(启动哨兵前,要确保主从redis已启动)
redis-sentinel /usr/local/redis-6379/sentinel.conf
启动后开下日志
tail -f sentinel.log
从日志中可以看出redis一主二从6379(主)、6380(从)、6381(从)
设置从redis哨兵时,sentinel.conf是一样的,但要注意端口