Linux(CentOS 7) 部署 redis 集群

下载redis

Downloads - Redis (官网页都是介绍的最新版,我观察目前出现了redis 和 redis Stack)

因我的旧环境是 CentOS 7,redis最新版已经不在支持,所以示例安装最常用的7.0.x

这里直接附上各个版本下载连接 小伙伴们就不需要在自己寻找下载地址了,任君挑选。地址如下 Index of /releases/

基本前提

1、系统(CentOS 7)

bash 复制代码
cat /etc/os-release

gcc版本

CentOS 7的默认GCC版本为4.8.5版本,而安装Redis7.0.X需要GCC 9.X版本以上,若GCC版本不足,则会造成编译时报错。 可查看我的另一篇文章 进行升级

Centos 7 升级 GCC-CSDN博客

|---------|-------------------------------------------|--------------------|
| GCC 9.3 | sudo yum install devtoolset-9(无视根本不好使) | Redis 7.0+、通用开发需求 |
| GCC 11 | sudo yum install devtoolset-11(无视根本不好使) | 需要最新特性的项目(如 C++20) |

bash 复制代码
gcc --version

解压

一般都会将redis目录放置到 /usr/local/redis目录,所以这里解压直接就解压到目标目录去

bash 复制代码
# 创建目标目录
sudo mkdir -p /usr/local/redis

# 解压到指定目录 --strip-components=1 会去掉压缩包内的第一层目录结构
sudo tar -zxvf redis-7.0.15.tar.gz -C /usr/local/redis --strip-components=1

安装

进入 解压后的 redis目录 /usr/local/redis

bash 复制代码
# 编译
make

# 安装  PREFIX 将编译后的程序文件存放到指定路径 -后续reids的所有程序文件就都存在在此,后续方便删除
make PREFIX=/usr/local/redis install

验证安装

bash 复制代码
/usr/local/redis/bin/redis-server --version

集群部署

注意这里必须要创建六个节点,因为集群部署redis官方要求必须要其三主三从

注意里面大多数redis命令 我都使用了绝对路径 /usr/local/redis/bin/redis-server,懒得配置环境变量了,因为在服务其上使用redis命令的情况太少了,想配置其实也很简单,大家随便一搞就可以了

创建集群节点目录

bash 复制代码
mkdir -p /opt/redis-cluster/{7001,7002,7003,7004,7005,7006}

生成配置文件模板

bash 复制代码
cat <<EOF > /opt/redis-cluster/redis-cluster-template.conf
port {{PORT}}
cluster-enabled yes
cluster-node-timeout 5000
cluster-config-file nodes-{{PORT}}.conf
dir /opt/redis-cluster/{{PORT}}
#关闭持久化以节省内存
appendonly no
#限制每个节点最大内存为 100MB
maxmemory 100mb
# 内存不足时淘汰策略
maxmemory-policy allkeys-lru
# 允许后台运行
daemonize yes
# 进程ID文件路径
pidfile /opt/redis-cluster/{{PORT}}/redis_{{PORT}}.pid
# 日志文件路径
logfile "/opt/redis-cluster/{{PORT}}/{{PORT}}.log"
EOF
生成各节点配置文件
bash 复制代码
for port in 7001 7002 7003 7004 7005 7006; do
  mkdir -p /opt/redis-cluster/$port
  sed "s/{{PORT}}/$port/g" /opt/redis-cluster/redis-cluster-template.conf > /opt/redis-cluster/$port/redis.conf
done

启动 Redis 节点

bash 复制代码
for port in 7001 7002 7003 7004 7005 7006; do
  /usr/local/redis/bin/redis-server /opt/redis-cluster/$port/redis.conf
done

创建 Redis 集群

bash 复制代码
/usr/local/redis/bin/redis-cli --cluster create \
127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 \
127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 \
--cluster-replicas 1

yes 后就会看到如下效果

集群验证

bash 复制代码
/usr/local/redis/bin/redis-cli -p 7001 cluster nodes

正常可以看到 三主三从节点

亲测可用~请诸君共赏

相关推荐
共享家9527几秒前
Linux常用命令详解:从基础到进阶
linux·服务器·数据库
小徐Chao努力1 小时前
【centos】经常使用的脚本
linux·运维·centos
慈云数据1 小时前
从开发到上线:基于 Linux 云服务器的前后端分离项目部署实践(Vue + Node.js)
linux·服务器·vue.js
rainFFrain3 小时前
日志与策略模式
linux·运维·vscode·策略模式
林政硕(Cohen0415)5 小时前
Linux驱动开发进阶(四)- 内存管理
linux·驱动开发·内存管理
sqmeeting5 小时前
Linux NUC小主机化身视频会议服务器: 技术优势与部署实战
linux·服务器·windows·音视频·实时音视频
xxc_my6 小时前
LVS高可用负载均衡
服务器·负载均衡·lvs·高可用
无情白6 小时前
k8s运维面试总结(持续更新)
运维·面试·kubernetes
Naomi5216 小时前
自定义汇编语言(Custom Assembly Language) 和 Unix & Git
服务器·开发语言·git·unix
Kyrie_Li7 小时前
Redis-Sentinel(哨兵模式)
数据库·redis·sentinel