基于Redis6.2.8版本部署Redis Cluster集群
基于Redis6.2.8版本部署Redis Cluster集群
1、操作前准备,环境规划(VMware创建的Centos 7.9系统):
IP | 主机名 | 端口号 | 节点 |
---|---|---|---|
192.168.238.102 | redis-cluster | 6701 | master |
192.168.238.102 | redis-cluster | 6702 | slave—>6705的master |
192.168.238.102 | redis-cluster | 6703 | master |
192.168.238.102 | redis-cluster | 6704 | slave—>6701的master |
192.168.238.102 | redis-cluster | 6705 | master |
192.168.238.102 | redis-cluster | 6706 | slave—>6703的master |
#安装编译等所需的组件
yum -y install gcc gcc-c++
架构图:
Reids集群采用三主三从交叉复制架构,由于服务器数量有限,在一台机器中模拟出集群的效果,在实际生产环境中,需要准备三台机器,每台机器中分别部署两台Redis节点,一主一从,交叉备份。
2、安装配置redis程序
2.1 安装redis6.2.8
1.下载reids
mkdir -p /root/soft
cd /root/soft
wget https://download.redis.io/releases/redis-6.2.8.tar.gz2.解压并安装redis
tar xf redis-6.2.8.tar.gz
cd redis-6.2.8
make
2.2 创建Reids Cluster集群目录
1.创建Redis Cluster各集群节点的配置文件存放路径
cd /opt
mkdir data
ln -s /opt/data /data
mkdir /data/redis-6.2.8-cluster/{bin,conf,data,var,logs} -p
ll /data/redis-6.2.8-cluster/{bin,conf,data,var,logs}#目录说明
bin #可执行文件
conf #配置文件
data #数据文件
log #日志文件
var #pid文件
2.准备redis可执行命令
cd /root/soft/redis-6.2.8
cp src/redis-benchmark /data/redis-6.2.8-cluster/bin
cp src/redis-check-aof /data/redis-6.2.8-cluster/bin
cp src/redis-check-rdb /data/redis-6.2.8-cluster/bin
cp src/redis-cli /data/redis-6.2.8-cluster/bin
cp src/redis-sentinel /data/redis-6.2.8-cluster/bin
cp src/redis-server /data/redis-6.2.8-cluster/bin
cp src/redis-trib.rb /data/redis-6.2.8-cluster/bin
#检查
[root@test102 redis-6.2.8]# tree /data/redis-6.2.8-cluster
/data/redis-6.2.8-cluster
├── bin
│ ├── redis-benchmark
│ ├── redis-check-aof
│ ├── redis-check-rdb
│ ├── redis-cli
│ ├── redis-sentinel
│ ├── redis-server
│ └── redis-trib.rb
├── conf
├── data
├── logs
└── var
3.配置Redis Cluster三主三从交叉复制集群
3.1.准备六个节点的redis配置文件
redis6.2.8版本配置文件所有内容如下,主要配置带注释的行。(此配置文件参考,不用添加配置)
bind 0.0.0.0
protected-mode no #关闭保护模式
port 6701 #端口号
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize yes #后台运行
pidfile /data/redis-6.2.8-cluster/var/redis_6701.pid #pid存放
loglevel notice
logfile /data/redis-6.2.8-cluster/logs/redis_6701.log #日志存放路径
databases 16
always-show-logo yes #是否显示总日志
set-proc-title yes
proc-title-template "{title} {listen-addr} {server-mode}"
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename redis_6701.rdb #持久化数据文件名称
rdb-del-sync-files no
dir /data/redis-6.2.8-cluster/data #持久化数据文件存放路径
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-diskless-load disabled
repl-disable-tcp-nodelay no
replica-priority 100
acllog-max-len 128
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-ser