redis6哨兵模式高可用部署

部署环境

centos7

redis6.0.5

根据集群可用原则,可用节点数量 > 总节点数量/2,因此需要使用奇数个节点,因此,为保证集群高可用性,至少使用三台服务器部署集群

安装包下载

下载地址:https://download.redis.io/releases/

下载完成后将包拷贝到安装目录/opt/redis

或者使用wget命令下载:wget http://download.redis.io/releases/redis-6.0.5.tar.gz

安装

安装编译环境gcc

yum install gcc -y

编译安装

进入/opt/redis目录

cd /opt/redis

解压安装包

tar -zxf redis-6.0.5.tar.gz

编译安装

make

make install

注意:

1.make 和make install以后,redis-server默认安装在/usr/local/bin/目录下

2.make可能会报错:make[1]: *** [server.o] 错误 1。原因是因为yum安装的gcc版本是4.8.5,redis编译安装需要更高的gcc版本

解决办法:升级gcc,升级过程如下

yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
#这句是临时生效:scl enable devtoolset-9 bash
#修改环境变量:echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile

查看版本是否升级成功:gcc -v

重新编译安装(安装时指定安装目录):

make

make PREFIX=/usr/local/redis install

安装完成后,拷贝解压目录下的配置文件到安装目录进行配置:cp redis.conf /usr/local/redis/

注意:从库可以不使用包安装,直接将主库的安装目录拷贝过来配置即可使用

例:在主库中将安装目录拷贝到从库中

tar -cf redis.tar /usr/local/redis
scp redis.tar 192.168.142.12:/usr/local/
tar -xf redis.tar

服务配置启动

主库redis.conf 文件配置

编辑配置文件:vim /usr/local/redis/redis.conf

bind 0.0.0.0   #服务器IP
daemonize yes   #配置后台运行
requirepass Ab@123456 #配置密码
masterauth "Ab@123456" #主服务器配置密码认证

从库redis.conf 文件配置(两台从库相同配置)

编辑配置文件:vim /usr/local/redis/redis.conf

bind 0.0.0.0   #服务器IP
daemonize yes   #配置后台运行
requirepass Ab@123456 #配置密码
replicaof 192.168.142.11 6379   #主服务器地址
masterauth Ab@123456   #主服务器认证密码

启动服务

1.直接启动服务:/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf

2.配置成system服务

vim /usr/lib/systemd/system/redis.service

[Unit]
Description=Redis
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
ExecReload=/usr/local/redis/bin/redis-server -s reload
ExecStop=/usr/local/redis/bin/redis-server -s stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target

启动服务:systemctl start redis

开机自启:systemctl enable redis

配置哨兵(三台服务器相同配置)

拷贝解压目录配置文件到安装目录

cp /opt/redis/redis-6.0.5/sentinel.conf /usr/local/redis/

编辑哨兵配置文件

vim /usr/local/redis/sentinel.conf

daemonize yes
sentinel monitor mymaster 192.168.142.11 6379 2
requirepass Ab@123456
sentinel auth-pass mymaster Ab@123456

服务启动

直接启动哨兵服务:/usr/local/redis/bin/redis-sentinel /usr/local/redis/sentinel.conf

配置成system服务

vim /usr/lib/systemd/system/redis-sentinel.service

[Unit]
Description=Redis-sentinel
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-sentinel /usr/local/redis/sentinel.conf
ExecReload=/usr/local/redis/bin/redis-sentinel -s reload
ExecStop=/usr/local/redis/bin/redis-sentinel -s stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target

服务启动:systemctl start redis-sentinel

服务自启:systemctl enable redis-sentinel

开启防火墙端口:redis使用6379/tcp;哨兵使用26379/tcp

firewall-cmd --permanent --add-port=6379/tcp
firewall-cmd --permanent --add-port=26379/tcp
firewall-cmd --reload

集群状态查看

登录redis

进入安装目录:

/usr/local/redis/bin/redis-cli -a Ab@123456

查看集群状态

INFO Replication

若主库显示有一个master,两个slave,则表示集群部署完成

主库状态

从库状态

备注:使用redis集群,如JAVA后端程序,将java配置文件配置为支持哨兵模式的reids配置即可使用

-----------日常记录---------------

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值