Redis集群搭建真的很简单

背景

很多小伙伴在学习redis的时候都只在windows上搭建过redis,然后工作之后也只是在应用redis。那么redis在Linux上如何搭建呢?集群如何搭建呢?本文不讲原理,只讲实际操作。真的很简单。

环境

  • Linux-Ubuntu 20.04.6 LTS x86_64
  • Redis 6.2.6

准备工作

1、下载redis

arduino 复制代码
https://redis.io/download/

英语好的可以直接找历史版本下载,英语不好的直接页面翻译。现在学编程对英语不好的人很友好。

然后选择6.2.6版本

右键点击复制链接

2、Linux-Ubuntu 安装 Redis

进入Linux中你想要安装的目录

shell 复制代码
cd myspace/

创建文件夹

shell 复制代码
mkdir redis

进入创建的文件夹

shell 复制代码
cd myspace/redis

将第一步复制的链接通过下载

shell 复制代码
wget https://download.redis.io/releases/redis-6.2.6.tar.gz

解压Redis压缩包

shell 复制代码
tar -zxvf redis-6.2.6.tar.gz

解压出来的文件为 redis-6.2.6

进入文件夹中

shell 复制代码
cd redis-6.2.6

安装make编译(注:如果您的服务器中已经有make编译器,这一步请忽略,因为redis源码是C语言编写的,所以编译需要C语言编译器)

shell 复制代码
    sudo apt-get update  
    sudo apt-get install make

编译Redis(这一步编译时间较长,请耐心等待)

shell 复制代码
sudo make
## 如果失败 请先执行
sudo make MALLOC=libc
## 在执行
sudo make

然后测试是否编译成功(这一步运行时间也很长,请耐心等待)

shell 复制代码
sudo make test

安装Redis

shell 复制代码
sudo make install

大功告成,这样子你的redis就在你的Ubuntu中就算配置全部完成了。

以上步骤执行完毕之后你就会在你的文件夹中发现两个文件 redis-server redis-cli 这就是你安装好的应用。

  • redis-server 就是你要启动的玩意儿。
  • server-cli 是你的服务启动起来之后登录的工具。

配置Redis.conf

这下你的redis的文件夹中就只有三个有用文件

  • redis-server
  • server-cli
  • redis.conf

保留这三个文件其他的都可以全部删除。

其中redis.conf文件就是你redis-server玩意儿启动的配置文件。

创建六个文件夹 分别为

arduino 复制代码
mkdir redis-node1

以此类推

  • redis-node1
  • redis-node2
  • redis-node3
  • redis-node4
  • redis-node5
  • redis-node6

然后在每个文件夹中分别创建一个配置文件redis.conf。六个文件夹分别为

bash 复制代码
touch redis-node1.conf

以此类推

  • redis-node1.conf
  • redis-node2.conf
  • redis-node3.conf
  • redis-node4.conf
  • redis-node5.conf
  • redis-node6.conf

初学者不用看网上的配置,想要优化或者实际应用到redis的某些细节可以好好的看看配置。一般企业中redis的配置以下就足够了。 注:我就直接用集群的配置文件做演示。

text 复制代码
# 服务端启动的端口
port 9011

# 绑定的 IP 地址,0.0.0.0 表示监听所有网络接口
bind 0.0.0.0

# RDB 持久化设置
# 在 900 秒(15 分钟)内,如果至少有 1 个 key 发生了变化,就执行一次 RDB 持久化
save 900 1
# 在 300 秒(5 分钟)内,如果至少有 10 个 key 发生了变化,就执行一次 RDB 持久化
save 300 10
# 在 60 秒内,如果至少有 10000 个 key 发生了变化,就执行一次 RDB 持久化
save 60 10000

# 如果执行 RDB 持久化时出现错误,停止写入操作
stop-writes-on-bgsave-error yes

# 启用 RDB 文件压缩
rdbcompression yes

# 启用 RDB 文件检验和
rdbchecksum yes

# 启用集群模式
cluster-enabled yes

# 主节点的密码验证
masterauth 11111

# 集群的密码验证
requirepass 11111

# 集群配置中向其他节点广播的 IP 地址
cluster-announce-ip 11.11.32.12

# 集群配置中向其他节点广播的端口
cluster-announce-port 9011

# 以守护进程(后台)方式运行 Redis
daemonize yes

# 在配置文件中指定主节点配置 
# replicaof no one

# 从节点可以直接指定主键点的ip 和 端口
# replicaof 127.0.0.1 6379

启动redis的六个节点

启动命令

shell 复制代码
/redis-server redis-node1.conf

如果需要自定义主从节点

yaml 复制代码
# 主节点
redis-server --slaveof no one
# 从节点 直接指定主节点的 ip和端口
redis-server --slaveof 127.0.0.1 6379

以此类推分别启动其他五个节点。

检测是否启动成功

检测命令

shell 复制代码
ps -ef | grep redis-server

查看是否启动成功

集群连接

集群连接命令。

shell 复制代码
redis-cli -a "111111" --cluster create 127.0.0.1:9001 127.0.0.1:9002 127.0.0.1:9003 127.0.0.1:9004 127.0.0.1:9005 127.0.0.1:9006 --cluster-replicas 1

其他问题

解决重启redis集群问题。

lua 复制代码
1、全部停止所有集群 
2、删除 appendonly.aof 和 dump.rdb 
3、删除所有节点的cluster-config-file
4、重新启动
相关推荐
真实的菜9 小时前
Redis 从入门到精通(二):深入数据结构 —— 从 RedisObject 到 SkipList 的源码级拆解
数据结构·redis·skiplist
闪电悠米10 小时前
黑马点评-秒杀优化-01_async_seckill_idea
java·数据库·ide·redis·分布式·缓存·intellij-idea
必胜刻11 小时前
一个异步生成游戏功能的落地复盘:Redis Stream + WebSocket + 状态补偿
redis·websocket·golang·gin·状态补偿
闪电悠米11 小时前
黑马点评-秒杀优化-02_lua_precheck
开发语言·redis·分布式·缓存·junit·wpf·lua
至天12 小时前
FastAPI 接入 FastAPI-Limiter 以及使用 Redis 进行限流指南
redis·python·fastapi·请求限流
真实的菜12 小时前
Redis 从入门到精通(三):持久化机制 —— RDB 与 AOF 深度解析
数据库·redis·缓存
橙子圆12312 小时前
Redis知识10之缓存
数据库·redis·缓存
情绪总是阴雨天~13 小时前
基于 Docker 的 Milvus + Redis 本地开发环境部署完全指南
redis·docker·milvus
我是一颗柠檬13 小时前
【Redis】Redis缓存应用实战Day12(2026年)
数据库·redis·缓存
zzz_236813 小时前
【Redis】Redis 面试深度系列
数据库·redis·面试