1.虚拟机规划
1.下载 此次安装最新版 6.2.6
https://redis.io/download/
- 在linux opt下新建redis文件夹,上传并解压
mkdir redis
tar xzf redis-6.2.6.tar.gz
3. 安装 ,make后会生成一系列文件
cd redis-6.2.6/
make
4.然后进入src目录下 ,安装
cd src
make install
(如果intall 报错 ,例如 /bin/sh: cc: 未找到命令 ,需要安装 C++语言 ,可以执行命令 yum install gcc)
(如果找不到redis.server 就是因为一开始没有安装gcc ,导致一些c语音部分没有make好,请删出所有,重新解压,装)
5.修改配置文件 首先是redis.conf (若是安装单机本,在更改自己所需端口后,就可以直接启动了,./src/redis-server redis.conf)
a.主节点以下配置:
bind 0.0.0.0
port 6379
protected-mode no
daemonize yes
logfile "./redis.log"
requirepass sungrow@2022
masterauth sungrow@2022
b.2个从节点一样,配置文件多修改一个 replicaof
bind 0.0.0.0
port 6379
protected-mode no
daemonize yes
logfile "./redis.log"
requirepass sungrow@2022
masterauth sungrow@2022
replicaof 192.168.180.130 6379
- 打开各个节点防护墙(开通6379端口)
firewall-cmd --add-port=6379/tcp --permanent --zone=public
firewall-cmd --reload
7.3个节点配置好后启动各节点redis
./src/redis-server redis.conf
然后在主节点连接redis,查看集群状态,可见role当前为主节点,从节点为2
./src/redis-cli -p 6379 -a sungrow@2022
主从搭建好后,只具备了数据同步功能,还需要故障转移功能,需要启动哨兵机制
二.Redis 哨兵模式搭建
修改 sentinel.conf 配置 ,其中sentinel monitor mymaster是各个节点的IP
port 26379
daemonize yes
logfile "./sentinel.log"
sentinel monitor mymaster 192.168.181.130 6379 2
sentinel auth-pass mymaster sungrow@2022
sentinel down-after-milliseconds mymaster 3000
//主备切换时,最多有多少个slave同时对新的master进行同步,这里设置为默认的1。
sentinel parallel-syncs mymaster 1
//故障转移的超时时间,这里设置为三分钟。
sentinel failover-timeout mymaster 180000
打开防火墙
firewall-cmd --add-port=26379/tcp --permanent --zone=public
firewall-cmd --reload
启动各节点个redis下sentinel:
./src/redis-sentinel sentinel.conf
查看sentinel状态:可以看到从节点为2,sentinels为3,代表redis哨兵搭建完成
./src/redis-cli -p 26379
至此全部搭建完成