【安装】[redis哨兵模式] ---- linux CentOS 上安装Redis哨兵模式高可用超详细教程
服务器资源说明
- 192.168.1.100: 6379 主节点1,16379 哨兵1
- 192.168.1.101: 6379 从节点1,26379 哨兵2
- 192.168.1.102: 6379 从节点2,36379 哨兵3
1. 安装Redis 7.0
1.1 下载Redis 7.0安装包
wget https://download.redis.io/releases/redis-7.0.0.tar.gz # 下载Redis 7.0的源码包
1.2 解压安装包
tar -xzf redis-7.0.0.tar.gz # 解压Redis安装包
1.3 编译和安装Redis
cd redis-7.0.0 # 进入解压后的Redis目录
make # 编译Redis源码
make install PREFIX=/usr/local/soft/redis # 将Redis安装到/usr/local/soft/redis目录下
1.4 创建配置文件和日志目录
mkdir /usr/local/soft/redis/conf # 创建配置文件目录
mkdir /usr/local/soft/redis/logs # 创建日志文件目录
1.5 复制配置文件
cp redis.conf /usr/local/soft/redis/conf/ # 复制Redis配置文件到conf目录
cp sentinel.conf /usr/local/soft/redis/conf/ # 复制哨兵配置文件到conf目录
2. 配置Redis主从和哨兵
2.1 配置主节点 (192.168.1.100)
编辑 /usr/local/soft/redis/conf/redis.conf
文件:
bind 192.168.1.100 # 绑定IP地址
port 6379 # 设置端口
daemonize yes # 以守护进程方式运行
pidfile /usr/local/soft/redis/redis.pid # 设置PID文件路径
logfile "/usr/local/soft/redis/logs/redis.log" # 设置日志文件路径
dir /usr/local/soft/redis/data # 设置数据存储目录
启动Redis:
/usr/local/soft/redis/bin/redis-server /usr/local/soft/redis/conf/redis.conf # 启动Redis服务
2.2 配置从节点 (192.168.1.101 和 192.168.1.102)
编辑 /usr/local/soft/redis/conf/redis.conf
文件:
bind 192.168.1.101 # 绑定IP地址 (192.168.1.102同理)
port 6379 # 设置端口
daemonize yes # 以守护进程方式运行
pidfile /usr/local/soft/redis/redis.pid # 设置PID文件路径
logfile "/usr/local/soft/redis/logs/redis.log" # 设置日志文件路径
dir /usr/local/soft/redis/data # 设置数据存储目录
replicaof 192.168.1.100 6379 # 设置主节点地址和端口
启动Redis:
/usr/local/soft/redis/bin/redis-server /usr/local/soft/redis/conf/redis.conf # 启动Redis服务
2.3 配置哨兵 (192.168.1.100, 192.168.1.101, 192.168.1.102)
编辑 /usr/local/soft/redis/conf/sentinel.conf
文件:
bind 192.168.1.100 # 绑定IP地址 (192.168.1.101和192.168.1.102同理)
port 16379 # 设置哨兵端口 (26379和36379同理)
daemonize yes # 以守护进程方式运行
pidfile /usr/local/soft/redis/sentinel.pid # 设置PID文件路径
logfile "/usr/local/soft/redis/logs/sentinel.log" # 设置日志文件路径
dir /usr/local/soft/redis/data # 设置数据存储目录
sentinel monitor mymaster 192.168.1.100 6379 2 # 监控主节点
sentinel down-after-milliseconds mymaster 5000 # 设置主节点下线时间
sentinel failover-timeout mymaster 10000 # 设置故障转移超时时间
启动哨兵:
/usr/local/soft/redis/bin/redis-sentinel /usr/local/soft/redis/conf/sentinel.conf # 启动哨兵服务
3. 检查并开启相关端口和防火墙
firewall-cmd --zone=public --add-port=6379/tcp --permanent # 开放6379端口
firewall-cmd --zone=public --add-port=16379/tcp --permanent # 开放16379端口 (26379和36379同理)
firewall-cmd --reload # 重新加载防火墙配置
4. 安装后连接测试
/usr/local/soft/redis/bin/redis-cli -h 192.168.1.100 -p 6379 # 连接主节点
/usr/local/soft/redis/bin/redis-cli -h 192.168.1.101 -p 6379 # 连接从节点1
/usr/local/soft/redis/bin/redis-cli -h 192.168.1.102 -p 6379 # 连接从节点2
5. 插入数据测试
set testkey "Hello Redis" # 在主节点插入数据
get testkey # 在从节点获取数据
6. 设置开机自启动
编辑 /etc/rc.local
文件:
/usr/local/soft/redis/bin/redis-server /usr/local/soft/redis/conf/redis.conf # 开机启动Redis
/usr/local/soft/redis/bin/redis-sentinel /usr/local/soft/redis/conf/sentinel.conf # 开机启动哨兵
7. 停止、启动、重启命令
/usr/local/soft/redis/bin/redis-cli shutdown # 停止Redis服务
/usr/local/soft/redis/bin/redis-server /usr/local/soft/redis/conf/redis.conf # 启动Redis服务
/usr/local/soft/redis/bin/redis-cli shutdown && /usr/local/soft/redis/bin/redis-server /usr/local/soft/redis/conf/redis.conf # 重启Redis服务
8. 最终总结
- Redis主从配置:通过
replicaof
配置从节点指向主节点。 - 哨兵配置:通过
sentinel monitor
配置哨兵监控主节点,实现自动故障转移。 - 端口和防火墙:确保相关端口开放,防火墙配置正确。
- 开机自启动:通过
/etc/rc.local
实现Redis和哨兵的开机自启动。 - 测试:通过插入和读取数据验证主从复制和哨兵功能。
通过以上步骤,您已经成功在CentOS 7上安装并配置了Redis 7.0的哨兵模式,并确保了高可用性和数据冗余。