搭建Redis集群&哨兵模式- Linux环境

简述

为什么要搭建redis集群?
主要是为了保证redis的高可用性,当一个redis坏掉了,还有其他的redis可提供服务。同时每个redis都可以部署在同一服务器上。

在这里分为三大部分:
1. linux上安装redis
2. 搭建redis集群(主从集群)
3. 搭建redis哨兵模式

1、 在linux上安装redis

1.1 下载redis安装包

地址:https://download.redis.io/releases/
在这里插入图片描述

另一个下载方式,当前服务器是否允许访问外网,如果可以的话,
可直接用wget下载:但要先创建目录后,进入/app/redis后,再执行wget。
wget http://download.redis.io/releases/redis-7.4.2.tar.gz

1.2 创建目录

切换root用户
sudo su – root
cd /app

mkdir -p /app/redis
mkdir -p /app/redis/sentine1
mkdir -p /app/redis/conf
mkdir -p /app/redis/run
mkdir -p /app/redis/logs
mkdir -p /app/redis/data

cd /app
chgrp -R redis. *
chown -R redis. *

1.2 上传redis安装包到对应的目录

目录: /app/redis

1.3 对redis安装包授权

chmod -R 755 /app/redis/redis-7.4.2.tar.gz
chgrp -R redis /app/redis/redis-7.4.2.tar.gz
chown -R redis /app/redis/redis-7.4.2.tar.gz
在这里插入图片描述

1.4 使用Redis用户解压redis安装包

sudo su – redis
cd /app/redis
tar -zxvf /app/redis/redis-7.4.2.tar.gz
在这里插入图片描述

1.5 打补丁包(如果已经安装过,此步可忽略)

sudo su – root
yum -y install gcc automake autoconf libtool make(已经安装过,所以都提示已安装)
在这里插入图片描述

yum -y install gcc gcc-c++ (已经安装过,所以都提示已安装)
在这里插入图片描述

1.6 编译安装

sudo su – redis
cd /app/redis/redis-7.4.2
make --清除上次编译的信息,重新编译 make distclean && make
在这里插入图片描述

cd /app/redis/redis-7.4.2/src,执ll,查看目录下明细,redis-cli是客户端 redis-server是服务端。
在这里插入图片描述

以下此步可不用执行
#cd /app/redis/redis-7.4.2/src
#make install

1.7 启动redis

cd /app/redis/redis-7.4.2/src
redis-server
在这里插入图片描述

到这里redis已经安装成功。

2、搭建redis集群(主从集群)

2.1 编辑redis实例的配置文件(三个实例,三份文件,文件名带上各自实例端口)

三个端口分别为:7481(主)、7482(从)、7483(从)
这里服务器ip统一为:10.225.188.149
这里设置的密码统一为:masterpass

sudo su – redis
cd /app/redis/conf

第一个配置文件:
vi redis.7481.conf

复制以下内容进redis.7481.conf,之后保存退出(按ESC键,输入:wq按回车)。
port 7481
daemonize yes
protected-mode no
#bind 127.0.0.1
requirepass “masterpass”
masterauth “masterpass”

pidfile “/app/redis/run/redis.7481.pid”
logfile “/app/redis/logs/redis.7481.log”
dir “/app/redis/data”
dbfilename “dump7481.rdb”

save 900 1
save 300 10
save 60 10000

在这里插入图片描述

第二个配置文件
vi redis.7482.conf

复制以下内容进redis.7482.conf,之后保存退出(按ESC键,输入:wq按回车)。
port 7482
daemonize yes
protected-mode no
#bind 127.0.0.1
requirepass “masterpass”
masterauth “masterpass”

pidfile “/app/redis/run/redis.7482.pid”
logfile “/app/redis/logs/redis.7482.log”
dir “/app/redis/data”
dbfilename “dump7482.rdb”

save 900 1
save 300 10
save 60 10000
replicaof 10.225.188.149 7481
在这里插入图片描述

第三个配置文件
vi redis.7483.conf

复制以下内容进redis.7483.conf,之后保存退出(按ESC键,输入:wq按回车)。
port 7483
daemonize yes
protected-mode no
#bind 127.0.0.1
requirepass “masterpass”
masterauth “masterpass”

pidfile “/app/redis/run/redis.7483.pid”
logfile “/app/redis/logs/redis.7483.log”
dir “/app/redis/data”
dbfilename “dump7483.rdb”

save 900 1
save 300 10
save 60 10000
replicaof 10.225.188.149 7481

在这里插入图片描述

2.2 启动redis

cd /app/redis/redis-7.4.2/src
redis-server /app/redis/conf/redis.7481.conf &
redis-server /app/redis/conf/redis.7482.conf &
redis-server /app/redis/conf/redis.7483.conf &
在这里插入图片描述

2.3 查看进程

ps -ef|grep redis
在这里插入图片描述

2.4 从master节点查看slave信息

redis-cli -p 7481
auth masterpass
info replication
在这里插入图片描述

redis-cli -p 7482
auth masterpass
replicaof 10.225.188.149 7481
在这里插入图片描述

redis-cli -p 7483
auth masterpass
replicaof 10.225.188.149 7481
在这里插入图片描述

3、 搭建redis哨兵模式

• 集群模式,如果主节点挂了,不能往redis写数据了!这时候这需要搭建哨兵模式,哨兵会自动从剩下的两个从节点中,选举主节点。
• 注:搭建redis哨兵模式不需要安装额外的软件,redis内置了哨兵,redis-sentinel。
• 哨兵模式没有主从的概念,都是平等的。

3.1 编辑三个哨兵配置文件

三个端口分别为:17481、17482、17483
这里服务器ip统一为:10.225.188.149
这里设置的密码统一为:masterpass

sudo su – redis
cd /app/redis/conf

第一个配置文件:
vi sentinel.17481.conf

复制以下内容进sentinel.17481.conf,之后保存退出(按ESC键,输入:wq按回车)。
port 17481
daemonize yes
protected-mode no
#bind 127.0.0.1

pidfile “/app/redis/run/sentine1.17481.pid”
logfile “/app/redis/logs/sentine1.17481.log”
dir “/app/redis/sentine1”

sentinel myid b55a4068a6be303fdbbd74e971d2619796cd6f5b
sentinel deny-scripts-reconfig yes
sentinel monitor mymaster 10.225.188.149 7481 2
sentinel parallel-syncs mymaster 2

sentinel auth-pass mymaster masterpass
sentinel config-epoch mymaster 0
sentinel leader-epoch mymaster 0
sentinel known-replica mymaster 10.225.188.149 7482
sentinel known-replica mymaster 10.225.188.149 7483
sentinel known-sentinel mymaster 10.225.188.149 17482 ed12e828d9d20d9e36f1bd944783d839f6e5aec7
sentinel known-sentinel mymaster 10.225.188.149 17483 4f25328a9ee5b059b03763cfa6b8ea9b07104e65
sentinel current-epoch 0
在这里插入图片描述

第二个配置文件
vi sentine1.17482.conf

复制以下内容进sentine1.17482.conf,之后保存退出(按ESC键,输入:wq按回车)。
port 17482
daemonize yes
protected-mode no
#bind 127.0.0.1

pidfile “/app/redis/run/sentine1.17482.pid”
logfile “/app/redis/logs/sentine1.17482.log”
dir “/app/redis/sentine1”

sentinel myid ed12e828d9d20d9e36f1bd944783d839f6e5aec7
sentinel deny-scripts-reconfig yes
sentinel monitor mymaster 10.225.188.149 7481 2
sentinel parallel-syncs mymaster 2

sentinel auth-pass mymaster masterpass
sentinel config-epoch mymaster 0
sentinel leader-epoch mymaster 0
sentinel known-sentinel mymaster 10.225.188.149 17481 b55a4068a6be303fdbbd74e971d2619796cd6f5b
sentinel current-epoch 0
在这里插入图片描述

第三个配置文件
vi sentine1.17483.conf

复制以下内容进sentine1.17483.conf,之后保存退出(按ESC键,输入:wq按回车)。
port 17483
daemonize yes
protected-mode no
#bind 127.0.0.1

pidfile “/app/redis/run/sentine1.17483.pid”
logfile “/app/redis/logs/sentine1.17483.log”
dir “/app/redis/sentine1”

sentinel myid 4f25328a9ee5b059b03763cfa6b8ea9b07104e65
sentinel deny-scripts-reconfig yes
sentinel monitor mymaster 10.225.188.149 7481 2
sentinel parallel-syncs mymaster 2

sentinel auth-pass mymaster masterpass
sentinel config-epoch mymaster 0
sentinel leader-epoch mymaster 0
sentinel known-sentinel mymaster 10.225.188.149 17481 b55a4068a6be303fdbbd74e971d2619796cd6f5b
sentinel current-epoch 0
在这里插入图片描述

3.2 启动哨兵

cd /app/redis/redis-7.4.2/src
redis-sentinel /app/redis/conf/sentinel.17481.conf &
redis-sentinel /app/redis/conf/sentinel.17482.conf &
redis-sentinel /app/redis/conf/sentinel.17483.conf &
在这里插入图片描述

3.3 查看进程

ps -ef|grep redis
在这里插入图片描述

到这里redis集群就搭建完毕了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值