Administrator
发布于 2025-03-24 / 5 阅读
0

Redis 5.0.5 版本的 1 主 2 从 3 哨兵的部署方案

#AI

以下是一套完整的 Redis 5.0.5 版本的 1 主 2 从 3 哨兵的部署方案。此方案假设你使用的是 Linux 系统(以 CentOS 7 为例)。

1. 环境准备

确保服务器已经安装了必要的依赖,如 gccmake,可以使用以下命令进行安装:

yum install -y gcc make

2. 下载并编译 Redis 5.0.5

# 下载 Redis 5.0.5
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
# 解压文件
tar xzf redis-5.0.5.tar.gz
# 进入解压后的目录
cd redis-5.0.5
# 编译 Redis
make
# 安装 Redis
make install

3. 配置 Redis 主从节点

主节点配置

创建主节点的配置文件 redis-master.conf

mkdir -p /etc/redis
cat <<EOF > /etc/redis/redis-master.conf
port 6379
bind 0.0.0.0
daemonize yes
pidfile /var/run/redis-master.pid
logfile /var/log/redis-master.log
dbfilename dump-master.rdb
dir /var/lib/redis
EOF

启动主节点:

redis-server /etc/redis/redis-master.conf

从节点配置

创建两个从节点的配置文件 redis-slave1.confredis-slave2.conf

redis-slave1.conf

cat <<EOF > /etc/redis/redis-slave1.conf
port 6380
bind 0.0.0.0
daemonize yes
pidfile /var/run/redis-slave1.pid
logfile /var/log/redis-slave1.log
dbfilename dump-slave1.rdb
dir /var/lib/redis
slaveof <主节点 IP> 6379
EOF

redis-slave2.conf

cat <<EOF > /etc/redis/redis-slave2.conf
port 6381
bind 0.0.0.0
daemonize yes
pidfile /var/run/redis-slave2.pid
logfile /var/log/redis-slave2.log
dbfilename dump-slave2.rdb
dir /var/lib/redis
slaveof <主节点 IP> 6379
EOF

分别启动两个从节点:

redis-server /etc/redis/redis-slave1.conf
redis-server /etc/redis/redis-slave2.conf

4. 配置 Redis 哨兵节点

创建三个哨兵节点的配置文件 sentinel1.confsentinel2.confsentinel3.conf

sentinel1.conf

cat <<EOF > /etc/redis/sentinel1.conf
port 26379
daemonize yes
pidfile /var/run/redis-sentinel1.pid
logfile /var/log/redis-sentinel1.log
sentinel monitor mymaster <主节点 IP> 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 10000
sentinel parallel-syncs mymaster 1
EOF

sentinel2.conf

cat <<EOF > /etc/redis/sentinel2.conf
port 26380
daemonize yes
pidfile /var/run/redis-sentinel2.pid
logfile /var/log/redis-sentinel2.log
sentinel monitor mymaster <主节点 IP> 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 10000
sentinel parallel-syncs mymaster 1
EOF

sentinel3.conf

cat <<EOF > /etc/redis/sentinel3.conf
port 26381
daemonize yes
pidfile /var/run/redis-sentinel3.pid
logfile /var/log/redis-sentinel3.log
sentinel monitor mymaster <主节点 IP> 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 10000
sentinel parallel-syncs mymaster 1
EOF

分别启动三个哨兵节点:

redis-sentinel /etc/redis/sentinel1.conf
redis-sentinel /etc/redis/sentinel2.conf
redis-sentinel /etc/redis/sentinel3.conf

5. 验证部署

可以使用以下命令验证 Redis 主从和哨兵的部署情况:

验证主从节点

redis-cli -p 6379 info replication
redis-cli -p 6380 info replication
redis-cli -p 6381 info replication

验证哨兵节点

redis-cli -p 26379 sentinel masters
redis-cli -p 26380 sentinel masters
redis-cli -p 26381 sentinel masters

注意事项

  • 请将 <主节点 IP> 替换为实际的主节点 IP 地址。
  • 可以根据实际情况调整配置文件中的参数,如端口号、日志文件路径等。
  • 在生产环境中,建议为 Redis 配置密码以增强安全性。可以在配置文件中添加 requirepass 参数来设置密码。