Linux下Redis的安装和部署(三)--哨兵模式的部署

1. 哨兵模式配置文件

redis服务 redis端口 哨兵端口 主从
redis-1 7001 27001 主节点
redis-2 7002 27002 从节点
redis-3 7003 27003 从节点

1. 准备工作

将下载的redis-6.0.6.tar.gz 使用工具放在 /opt 目录;

  • 解压命令: tar -zxf redis-6.0.6.tar.gz
  • 完成解压后,将解压后的文件移动到 /home/ltree/tools/redis 目录下 :mv redis-6.0.6 /home/ltree/tools/redis
  • 进入redis-6.0.6目录,执行make命令:
    • cd /home/ltree/tools/redis/redis-6.0.6
    • make
  • 继续执行:make install
    redis的默认安装目录: /usr/local/bin
    • 创建目录: mkdir /usr/local/redis-cluster/
    • 进入目录,并创建目录,用于存放配置文件:
    • cd /usr/local/redis-cluster
    • mkdir redis-1 redis-2 redis-3
    • 进入redis-6.0.6目录:cd /home/ltree/tools/redis/redis-6.0.6/
    • 将redis.conf, sentinel.conf 文件 复制到刚刚新建的文件夹中执行的命令,以redis-1为例:
    • cp redis.conf /usr/local/redis-cluster/redis-1
    • cp sentinel.conf /usr/local/redis-cluster/redis-1
    • 进入redis-1修改配置文件:
    • cd /usr/local/redis-cluster/redis-1
    • vi redis.conf

2. 集群的配置

配置 ./redis-1/redis.conf, 如下

protected-mode no 
daemonize yes
pidfile /var/run/redis7001.pid
port 7001
logfile "7001.log"
dbfilename dump7001.rdb

配置 ./redis-2/redis.conf, 如下

protected-mode no 
daemonize yes
pidfile /var/run/redis7003.pid
port 7002
logfile "7002.log"
dbfilename dump7002.rdb

配置 ./redis-3/redis.conf, 如下

protected-mode no 
daemonize yes
pidfile /var/run/redis7003.pid
port 7003
logfile "7003.log"
dbfilename dump7003.rdb

3. 哨兵配置

  • 进入目录,以redis-1为例:
cd /usr/local/redis-cluster/redis-1
  • 配置 ./redis-1/sentinel.conf, 如下
port 27001                                          // 哨兵端口
daemonize yes                                       // 开启守护进程
logfile "27001.log"
sentinel monitor mymaster 127.0.0.1 7001 2          // 监控 master ip 端口
sentinel auth-pass <master-name> <password>         // master的密码
  • 配置 ./redis-2/sentinel.conf, 如下
port 27002                                        // 哨兵端口
daemonize yes                                     // 开启守护进程
logfile "27002.log"
sentinel monitor mymaster 127.0.0.1 7001 2         // 监控 master ip 端口
 sentinel auth-pass <master-name> <password>       // master的密码
  • 配置 ./redis-3/sentinel.conf, 如下
port 27003                                          // 哨兵端口
daemonize yes                                       // 开启守护进程
logfile "27003.log"
sentinel monitor mymaster 127.0.0.1 7001 2         // 监控 master ip 端口
sentinel auth-pass <master-name> <password>        // master的密码

2. 启动

1. 启动Redis

进入到redis安装目录的bin目录下,分别启动:

cd /usr/local/bin
./redis-server /usr/local/redis-cluster/redis-1/redis.conf
./redis-server /usr/local/redis-cluster/redis-2/redis.conf
./redis-server /usr/local/redis-cluster/redis-3/redis.conf

2. 设置主从关系

分别进入redis客户端

./redis-cli -p 7001
./redis-cli -p 7002
./redis-cli -p 7003

查看当前redis主机节点信息

info replication

在6302和6303客户端分别执行,完成主从关系建立

SLAVEOF 127.0.0.1 7001

测试:
Linux下Redis的安装和部署(三)--哨兵模式的部署_第1张图片

3. 进入默认安装目录分别启动哨兵

cd /usr/local/bin/
./redis-sentinel /usr/local/redis-cluster/redis-1/sentinel.conf
./redis-sentinel /usr/local/redis-cluster/redis-2/sentinel.conf
./redis-sentinel /usr/local/redis-cluster/redis-3/sentinel.conf 

三个哨兵和三个redis都启动起来了
Linux下Redis的安装和部署(三)--哨兵模式的部署_第2张图片

4. 测试:

  • 分别进入三台redis
redis-cli -p 7001
redis-cli -p 7002
redis-cli -p 7003 
  • 查看对应的角色
info replication

7001 :
Linux下Redis的安装和部署(三)--哨兵模式的部署_第3张图片
7002:
Linux下Redis的安装和部署(三)--哨兵模式的部署_第4张图片
7003 :
Linux下Redis的安装和部署(三)--哨兵模式的部署_第5张图片

  • 将7001 master服务杀死
  • ps -ef | grep redis
  • Linux下Redis的安装和部署(三)--哨兵模式的部署_第6张图片
kill -9 17847
  • 最后查看节点信息,会发现7002,变成了master,7003变成了slave
    Linux下Redis的安装和部署(三)--哨兵模式的部署_第7张图片
    Linux下Redis的安装和部署(三)--哨兵模式的部署_第8张图片
    大功告成 !!!!

你可能感兴趣的:(Linux,linux,redis)