Ubuntu 22 redis集群搭建
物理机分别为:端口以7开头是因为用的是redis7
192.168.56.120 需要开放的端口 7000 70001 70002 17000 170001 170002
192.168.56.121 需要开放的端口 7100 71001 71002 17100 171001 171002
192.168.56.122 需要开放的端口 7200 72001 72002 17200 172001 172002
下面是端口操作命令,以7000为例
1 开启防火墙: sudo ufw enable2 检查防火墙当前状态: sudo ufw status若显示 Status: inactive,表示防火墙未开启;若显示 Status: active,表示已开启(可跳过 “开启” 步骤)。3 关闭防火墙(如需临时关闭) sudo ufw disable4 开放指定端口 # 开放 TCP 协议的 7200 端口sudo ufw allow 7000/tcp# 开放 UDP 协议的端口(如需)sudo ufw allow 53/udp5 删除规则(例如删除编号为 1 的规则) sudo ufw delete 16 查看已开放的端口 / 服务 sudo ufw status numbered # 带编号显示规则,方便删除
1 安装redis
使用的安装包为 redis-7.0.15.tar.gz
1 将安装包上传后,解压
tar -zxvf redis-7.0.15.tar.gz
cd redis-7.0.15
2 执行make 与 make install,make install 是将redis安装到哪个位置。
su make
sudo make install PREFIX=/home/frank/proTools/redis-cluster/7000
在执行make的时候可能出现的错误如下:
报错: /bin/sh: 1: pkg-config: not foundsudo apt update # 更新软件源
sudo apt install pkg-config -y # 安装pkg-config
pkg-config --version报错: /bin/sh: 1: cc: not found
sudo apt update # 更新软件源
sudo apt install build-essential -y # 安装编译工具链
cc --version # 或 gcc --version报错: zmalloc.h:50:10:fatal error:jemalloc/jemalloc.h:No Such file or director
sudo apt install libjemalloc-dev
2 配置redis
# 基本配置
port 7000
bind 0.0.0.0
daemonize yes
pidfile /usr/local/redis-cluster/7000/redis.pid
logfile /usr/local/redis-cluster/7000/log/redis.log
dir /usr/local/redis-cluster/7000/data/# 持久化配置
appendonly yes
appendfilename "appendonly-7000.aof"
dbfilename dump-7000.rdb# 集群配置
cluster-enabled yes
cluster-config-file nodes-7000.conf
cluster-node-timeout 15000
cluster-migration-barrier 1
cluster-require-full-coverage no# 安全配置
requirepass "store"
masterauth "store"修改 redis.conf 后,必须重启节点才能加载新配置。如果只是简单停止再启动,
可能因缓存导致配置未更新。
# 先停止服务
sudo systemctl stop redis-7000.service# 清除可能的残留进程(确保彻底停止)
sudo pkill -f redis-7000 # 按节点端口过滤进程# 重新启动
sudo systemctl start redis-7000.service# 确认启动状态(确保没有报错)
systemctl status redis-7000.service
将修改的文件拷贝到 7000 7001 7002 ... 下的bin目录里。