本指南详细介绍了在CentOS 7系统中搭建具有三个主节点和三个从节点的高可用Redis分布式集群的方法与步骤。
本段落详细介绍如何在CentOS 7环境下配置一个由三台主机组成的Redis分布式集群。每台主机上都有一个主节点和一个从节点,共六个节点。这一过程包括安装、创建服务、配置集群、启动以及测试集群的正确性。
首先,我们将从安装Redis开始:
1. 下载最新版本的源代码包(例如 Redis 6.2.6):
```bash
wget https://download.redis.io/releases/redis-6.2.6.tar.gz
```
2. 解压下载文件:
```bash
tar xzf redis-6.2.6.tar.gz
```
3. 进入解压后的目录并编译源代码:
```bash
cd redis-6.2.6 && make
```
4. 创建软链接,使Redis命令全局可访问:
```bash
ln -s ./src/redis-server /usr/local/bin/
```
接下来,在每台主机上创建Redis服务。以单个示例为例:
1. 使用`install_server.sh`脚本安装:
```bash
sudo ./utils/install_server.sh
```
2. 在脚本中设置端口(如630x),路径以及开机启动选项:
```bash
port 630x path /usr/local/bin/redis-server chkconfig redis_630x on
```
配置集群的各个节点,确保以下配置项存在于每个节点的配置文件中:
1. 绑定所有IP地址以允许远程连接:
```
bind 0.0.0.0
```
2. 设置监听端口:
```
port 630x
```
3. 启用集群模式:
```
cluster-enabled yes
```
4. 指定集群配置文件:
```
cluster-config-file nodes-630x.conf
```
5. 设置数据存储目录:
```
dir /var/lib/redis/630x
```
6. 设置PID文件:
```pidfile /var/run/redis_630x.pid```
7. 日志文件:
```
logfile /var/log/redis_630x.log
```
8. 以守护进程方式运行:
```
daemonize yes
```
9. 可选设置保护模式和密码:
```protected-mode no requirepass 123456 masterauth 123456```
启动集群步骤如下:
- 编辑启动脚本。
- 使用Redis客户端关闭服务:
```
$CLIEXEC -a 123456 -p $REDISPORT shutdown
```
- 启动各节点服务:
```bash
systemctl start redis_630x.service
```
创建集群有两种方式,自动分配和手动分配槽位。以下是两种方法的示例:
- 自动分配:
```redis-cli --cluster create --cluster-replicas 1 172.16.0.101:6301 172.16.0.102:6302 172.16.0.102:6301 172.16.0.103:6302 172.16.0.103:6301 172.16.0.101:6302 --password 123456```
- 手动分配:
```redis-cli --cluster create 172.16.0.101:6301 172.16.0.102:6301 172.16.0.103:6301 --cluster-replicas 0 --password ```
之后,需要为每个主节点分配一个从节点:
- 对于主节点`172.16.0.101:6301`,添加从节点`172.16.0.102:6302`:
```redis-cli --cluster add-node 172.16.0.102:6302 172.16.0.101:6301 --cluster-slave --cluster-master-id f9683dcb6f8cd35d38b8a5624ecdf0c3bce1190c --password 123456```
- 对于主节点`172.16.0.103:6301`,添加从节点`172.16.0.1