目录
下载安装包
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
解压安装包并安装
tar xzf redis-5.0.5.tar.gz
cd redis-5.0.5
make
make install
编译后在Redis源代码目录的src文件夹中可以找到若干个可执行程序,安装完后,在/usr/local/bin目录中可以找到刚刚安装的redis可执行文件
配置文件
redis的哨兵模式最少需要三个哨兵节点来保证选举的可靠性
我们创建三个不同端口的哨兵配置文件,下面贴出其中一个配置文件,另外两个配置文件直接复制此模板,并更改成不同的端口
#sentinel端口
port 26379
#工作路径,注意路径不要和主重复
dir "/usr/local/redis/sentinel"
# 守护进程模式
daemonize yes
#关闭保护模式
protected-mode no
# 指明日志文件名
logfile "./sentinel.log"
#哨兵监控的master,主从配置一样,这里只用输入redis主节点的ip/port和法定人数。
sentinel myid e3192305b8270925d9f458ce1b2d9358d2310be3
# master或slave多长时间(默认30秒)不能使用后标记为s_down状态。
sentinel deny-scripts-reconfig yes
#若sentinel在该配置值内未能完成failover操作(即故障时master/slave自动切换),则认为本次failover失败。
sentinel monitor mymaster 127.0.0.1 6379 2
#设置master和slaves验证密码
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 18000
#指定了在执行故障转移时, 最多可以有多少个从服务器同时对新的主服务器进行同步
# Generated by CONFIG REWRITE
sentinel auth-pass mymaster 123456
sentinel config-epoch mymaster 0
sentinel leader-epoch mymaster 0
sentinel known-replica mymaster 127.0.0.1 6381
sentinel known-replica mymaster 127.0.0.1 6380
sentinel current-epoch 0
这样我们就得到三个哨兵的配置文件
配置主从
默认的配置文件直接开箱即用不需要作特别的更改,这里就不贴出来了。
从库配置的重点(这里用的是最新版的redis),指定主库的ip和端口用replicaof来指定,老版本应该是叫slave of。
所有的配置文件都准备好了
启动
找到安装目录的二进制可执行文件,
启动主库:./redis-server /usr/local/config/redis.conf
启动从库1:./redis-server /usr/local/config/redis6380.conf
启动从库2:./redis-server /usr/local/config/redis6381.conf
启动哨兵1:./redis-server /usr/local/config/sentinel26379.conf
启动哨兵2:./redis-server /usr/local/config/sentinel26379.conf
启动哨兵3:./redis-server /usr/local/config/sentinel26379.conf
这样一个最基础的哨兵模式的集群即搭建完成!生产环境建议迁移到不同的机器以便于容灾,这里为了方便演示放在了一台机器上。