CentOS7下Redis7.0集群搭建(极简版)
为什么搞 redis 集群?解决单点故障。
一、环境准备
CentOS-7-基础配置
| 主机名 |
ip地址 |
端口 |
角色 |
系统 |
| node1 |
192.168.10.101 |
7001、7002 |
master、slave |
centos7 |
| node2 |
192.168.10.102 |
7001、7002 |
master、slave |
centos7 |
| node3 |
192.168.10.103 |
7001、7002 |
master、slave |
centos7 |
每个 node 在 7001、7002 分别安装一个 redis 实例。
安装依赖环境
配置本地 hosts 解析
1 2 3 4 5
| cat >> /etc/hosts <<EOF 192.168.10.101 node1 192.168.10.102 node2 192.168.10.103 node3 EOF
|
生产环境内核调优
1 2 3 4 5
| sysctl vm.overcommit_memory=1
echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf
|
二、编译安装
一台机器编译,之后将二进制文件复制到目标机器。
- 下载,以
7.4.7 版本为例。
官方地址地址
1
| wget https://download.redis.io/releases/redis-7.4.7.tar.gz
|
- 解压
1
| tar xf redis-7.4.7.tar.gz -C /usr/local
|
- 编译,记得先安装
gcc
1 2
| cd /usr/local/redis-7.4.7 make
|
清理缓存重新编译(因缺失 gcc 编译安装失败的话)
- 复制二进制文件到指定目录下
1 2
| cp /usr/local/redis-7.4.7/src/redis-server /usr/local/bin/ cp /usr/local/redis-7.4.7/src/redis-cli /usr/local/bin/
|
- 创建配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13
| mkdir -pv /data/redis/{7001,7002} cat > /data/redis/7001/redis.conf <<EOF port 7001 bind 0.0.0.0 protected-mode no daemonize yes pidfile /var/run/redis_7001.pid dir /data/redis/7001 appendonly yes cluster-enabled yes cluster-config-file nodes-7001.conf cluster-node-timeout 5000 EOF
|
1 2
| cp /data/redis/7001/redis.conf /data/redis/7002/redis.conf sed -i 's/7001/7002/g' /data/redis/7002/redis.conf
|
- 复制到别的机器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
ssh node2 "mkdir -p /data/redis/{7001,7002}" ssh node3 "mkdir -p /data/redis/{7001,7002}" scp -r /data/redis/7001/* node2:/data/redis/7001/ scp -r /data/redis/7002/* node2:/data/redis/7002/ scp -r /data/redis/7001/* node3:/data/redis/7001/ scp -r /data/redis/7002/* node3:/data/redis/7002/
scp /usr/local/redis-7.4.7/src/redis-server node2:/usr/local/bin/ scp /usr/local/redis-7.4.7/src/redis-cli node2:/usr/local/bin/ scp /usr/local/redis-7.4.7/src/redis-server node3:/usr/local/bin/ scp /usr/local/redis-7.4.7/src/redis-cli node3:/usr/local/bin/
cp /usr/local/redis-7.4.7/src/redis-server /usr/local/bin/ cp /usr/local/redis-7.4.7/src/redis-cli /usr/local/bin/
|
三、启动及集群使用
- 启动
1 2 3 4 5 6 7 8 9 10 11
| redis-server /data/redis/7001/redis.conf redis-server /data/redis/7002/redis.conf
ssh node2 "redis-server /data/redis/7001/redis.conf" ssh node2 "redis-server /data/redis/7002/redis.conf"
ssh node3 "redis-server /data/redis/7001/redis.conf" ssh node3 "redis-server /data/redis/7002/redis.conf"
|
- 初始化
1 2 3 4 5 6
| redis-cli --cluster create \ 192.168.10.101:7001 192.168.10.101:7002 \ 192.168.10.102:7001 192.168.10.102:7002 \ 192.168.10.103:7001 192.168.10.103:7002 \ --cluster-replicas 1
|
输入 yes 即可自动设置。
- 查看集群
1
| redis-cli -c -p 7001 cluster nodes
|
- 验证集群的高可用
1
| redis-cli -c -p 7002 cluster nodes
|