说明:因个人又穷又懒,只准备了一台服务器(伪集群),实际生产环境肯定不会这么玩,单台服务器宕机会导致这样部署没什么意义,这里只是为了学习,原理一样。
目录
1.基础环境
2.Redis下载
3.安装包文件上传
4.安装包拷贝及解压:
5.编译安装
6.命令及配置拷贝
7.配置Redis服务器(1主2从)
7.1配置Redis主服务器
7.2.配置Redis从服务器1
7.3.配置Redis从服务器2
8.配置哨兵
9.启动服务器
10.启动哨兵
11.验证Redis集群及哨兵系统运行
12.验证主服务器掉线,哨兵系统是不是起作用
13.验证主服务器掉线后重新上线,角色变化
1.基础环境
- Linux系统:Centos7
- Redis版本
2.Redis下载
推荐官 下载:Redis
3.安装包文件上传
上传软件压缩包到Linux服务器指定位置, 将redis-6.2.5.tar.gz上传到/opt/software/redis目录下 (具体路径视个人情况而定),同时在/opt/software/redis目录下新建如下几个文件夹:
- bin
- conf
- master
- slave1
- slave2
建完后,如下:
4.安装包拷贝及解压:
将安装包分别拷贝到master、slave1、slave2文件夹,然后分别进行解压
tar -zxvf redis-6.2.5.tar.gz
5.编译安装
进入/opt/software/redis/master/redis-6.2.5执行:
make && make install
6.命令及配置拷贝
将命令及配置分别拷贝到bin和conf文件夹
目前路径:/opt/software/redis/master/redis-6.2.5 (注意自己的路径,不然直接复制下面命令执行会出问题)
cp src/redis-server ../../bin
cp src/redis-cli ../../bin
cp src/redis-sentinel ../../bin
cp redis.conf ../../bin/redis.conf
cp sentinel.conf ../../conf/
cp redis.conf ../../conf/
7.配置Redis服务器(1主2从)
7.1配置Redis主服务器
目前路径:/opt/software/redis/master/redis-6.2.5 (注意自己的路径,不然直接复制下面命令执行会出问题)
- 进入conf文件夹,复制出来一个主服务器的配置文件:
cd ../../conf
cp redis.conf redis-master-6379.conf
- 修改 redis-master-6379.conf(修改如下项):
bind 0.0.0.0
port 6379
daemonize yes
pidfile “/var/run/redis_6379.pid”
masterauth “123456”
requirepass “123456”
7.2.配置Redis从服务器1
目前路径:/opt/software/redis/conf (注意自己的路径,不然直接复制下面命令执行会出问题)
- 复制出来一个从服务器的配置文件:
cp redis.conf redis-slave1-6380.conf
- 修改redis-slave1-6380.conf(修改如下项):
bind 0.0.0.0
port 6380
daemonize yes
pidfile “/var/run/redis_6380.pid”
masterauth “123456”
requirepass “123456”
7.3.配置Redis从服务器2
目前路径:/opt/software/redis/conf (注意自己的路径,不然直接复制下面命令执行会出问题)
- 复制出来一个从服务器的配置文件:
cp redis.conf redis-slave1-6381.conf
- 修改redis-slave1-6381.conf(修改如下项):
bind 0.0.0.0
port 6381
daemonize yes
pidfile “/var/run/redis_6381.pid”
masterauth “123456”
requirepass “123456”
8.配置哨兵
说明:复制粘贴累了,这里只以一个哨兵节点配置为例,另外两个节点参考下面进行设置即可
目前路径:/opt/software/redis/conf (注意自己的路径,不然直接复制下面命令执行会出问题)
- 复制出来一个哨兵的配置文件:
cp sentinel.conf sentinel-26379.conf
- 修改 sentinel-26379.conf(修改如下项):
port 26379
daemonize yes
pidfile “/var/run/redis-sentinel-26379.pid”
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel auth-pass mymaster 123456
9.启动服务器
目前路径:/opt/software/redis (注意自己的路径,不然直接复制下面命令执行会出问题)
bin/redis-server conf/redis-master-6379.conf
bin/redis-server conf/redis-slave1-6380.conf
bin/redis-server conf/redis-slave2-6381.conf
10.启动哨兵
目前路径:/opt/software/redis (注意自己的路径,不然直接复制下面命令执行会出问题)
bin/redis-sentinel conf/sentinel-26379.conf
bin/redis-sentinel conf/sentinel-26380.conf
bin/redis-sentinel conf/sentinel-26381.conf
11.验证Redis集群及哨兵系统运行
目前路径:/opt/software/redis (注意自己的路径,不然直接复制下面命令执行会出问题)
- 通过redis-cli连接主服务器(6379机器)
bin/redis-cli -p 6379
- 查看运行情况:
info结果(截取部分)
可以看到当前服务器角色为master,同时连接它的有两个slave节点
12.验证主服务器掉线,哨兵系统是不是起作用
- 关闭当前主服务器
- 连接6380服务器,通过info命令查看:
- info结果(截取部分)
可以看到当前6380节点在master节点(6379节点)宕机后,角色已经发生了变化,由slave->master,同时连接它的slave节点有1个。
13.验证主服务器掉线后重新上线,角色变化
目前路径:/opt/software/redis (注意自己的路径,不然直接复制下面命令执行会出问题)
- 启动6379服务器
bin/redis-server conf/redis-master-6379.conf
- 连接6379服务器并通过info查看状态:
- info结果(截取部分)
可以看到原有6379节点重新上线后,角色由原来的master变成了slave,同时连向现在的master节点(6380)。
自此,从头搭建完毕。。。
文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门初识Linux25097 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!