天天看点

超方便的linux中搭建基本的redis哨兵模式(1主2从3哨兵)

目录

下载安装包

解压安装包并安装

 配置文件

启动

下载安装包

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可执行文件 

超方便的linux中搭建基本的redis哨兵模式(1主2从3哨兵)

 配置文件

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
           

 这样我们就得到三个哨兵的配置文件

超方便的linux中搭建基本的redis哨兵模式(1主2从3哨兵)

配置主从

 默认的配置文件直接开箱即用不需要作特别的更改,这里就不贴出来了。

从库配置的重点(这里用的是最新版的redis),指定主库的ip和端口用replicaof来指定,老版本应该是叫slave of。

超方便的linux中搭建基本的redis哨兵模式(1主2从3哨兵)

所有的配置文件都准备好了

启动

找到安装目录的二进制可执行文件,

启动主库:./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 

这样一个最基础的哨兵模式的集群即搭建完成!生产环境建议迁移到不同的机器以便于容灾,这里为了方便演示放在了一台机器上。

继续阅读