1、安装redis
上传并解压:
[root@redis1 ~]# ls
公共 模板 视频 图片 文档 下载 音乐 桌面 anaconda-ks.cfg redis-7.4.0
[root@redis1 ~]# tar zxf redis-7.4.0.tar.gz
cd redis-7.4.0/
dnf install initscripts-10.11.5-1.el9.x86_64 -y
dnf install make gcc -y
make && make install
vim install_server.sh
cd utils/
./install_server.sh
vim /etc/redis/6379.conf
/etc/init.d/redis_6379 restart
scp -r redis-7.4.0 root@172.25.254.20:/root
rsync -al * root@172.25.254.20:/usr/local/bin
scp -r redis-7.4.0 root@172.25.254.30:/root
rsync -al * root@172.25.254.30:/usr/local/bin
编辑配置文件内容:
2、redis的主从复制
实验环境:
主机名 | ip |
redis1(master) | 172.25.254.10 |
redis2(slave1) | 172.25.254.20 |
redis3(slave2) | 172.25.254.30 |
在两台slave上配置:
vim /etc/redis/6379.conf
在master上查看:
在master写入数据,可以在slave看到:
3、redis哨兵(高可用)
cp sentinel.conf /etc/redis/
配置文件:
[root@redis1 redis-7.4.0]# vim /etc/redis/sentinel.conf
#修改内容:
daemonize no
sentinel monitor mymaster 172.25.254.100 6379 2
sentinel down-after-milliseconds mymaster 10000
两个slave同样配置:
[root@redis1 redis-7.4.0]# scp /etc/redis/sentinel.conf root@172.25.254.20:/etc/redis/
[root@redis1 redis-7.4.0]# scp /etc/redis/sentinel.conf root@172.25.254.30:/etc/redis/
三台主机备份配置文件:
[root@redis1 redis-7.4.0]# cd /etc/redis/
[root@redis1 redis]# ls
6379.conf sentinel.conf
[root@redis1 redis]# cp sentinel.conf sentinel.conf.bak
启动服务:
[root@redis1 redis]# redis-sentinel /etc/redis/sentinel.conf
停机测试:
[root@redis1 redis]# redis-cli
127.0.0.1:6379> SHUTDOWN
(0.60s)
not connected>
redis1-172.25.254.10停机后,哨兵选了redis3-172.25.254.30作为新的master:
当redis1172.25.254.10上线后:redis3-172.25.254.30还是master,而重新上线的redis1-172.25.254.10会成为slave
redis哨兵模式可能出现的问题:脑裂
5、redis集群