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

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

亲测可用~请诸君共赏

相关推荐
归寻太乙7 分钟前
Linux环境变量
linux·运维·服务器
m0Java门徒7 分钟前
面向对象编程核心:封装、继承、多态与 static 关键字深度解析
java·运维·开发语言·intellij-idea·idea
我的golang之路果然有问题12 分钟前
快速了解redis,个人笔记
数据库·经验分享·redis·笔记·学习·缓存·内存
Sapphire~14 分钟前
Linux-06 ubuntu 系统截图软件使用简单记录
linux·运维·ubuntu
高级IT技术专家secops99822 分钟前
在统信UOS/麒麟Kylin OS操作系统中配置APT和GIT代理
运维·服务器·git·系统安全·kylin
工头阿乐37 分钟前
Appium自动化开发环境搭建
运维·appium·自动化
自由鬼39 分钟前
开源漏洞扫描器:OpenVAS
运维·服务器·安全·网络安全·开源·漏洞管理
難釋懷41 分钟前
Shell脚本-while循环语法结构
linux·运维·服务器·bash
道友老李1 小时前
【存储中间件】Redis核心技术与实战(五):Redis缓存使用问题(BigKey、数据倾斜、Redis脑裂、多级缓存)、互联网大厂中的Redis
redis·缓存·中间件
B64A-消闲1 小时前
shell命令一
linux·运维