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

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

亲测可用~请诸君共赏

相关推荐
n***78682 分钟前
Redis-配置文件
数据库·redis·oracle
h***67376 分钟前
Prometheus(普罗米修斯)----- Nginx监控
运维·nginx·prometheus
颜颜yan_11 分钟前
基于CANN多Stream异步执行的智能推理管道:突破传统串行瓶颈
运维·架构·stream·昇腾·cann
wadesir12 分钟前
Nginx配置文件CPU优化(从零开始提升Web服务器性能)
服务器·前端·nginx
r***113317 分钟前
如何实现Redis安装与使用的详细教程
数据库·redis·缓存
代码游侠30 分钟前
学习笔记——数据结构学习
linux·开发语言·数据结构·笔记·学习
闲人编程32 分钟前
Django缓存策略:Redis、Memcached与数据库缓存对比
数据库·redis·缓存·django·memcached·codecapsule
z***677738 分钟前
macOS安装Redis
数据库·redis·macos
j***495641 分钟前
Linux(CentOS)安装 Nginx
linux·nginx·centos
SoleMotive.42 分钟前
1、nginx反向代理了解吗?怎么配置nginx服务器?nginx负载均衡的算法都有哪些? 2、后端服务器宕机了,nginx服务器是怎么检查的
服务器·nginx·负载均衡