Redis集群搭建真的很简单

news2024/12/23 22:14:24

背景

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

环境

  • Linux-Ubuntu 20.04.6 LTS x86_64
  • Redis 6.2.6

准备工作

1、下载redis

https://redis.io/download/

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

 然后选择6.2.6版本

2、Linux-Ubuntu 安装 Redis

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

cd myspace/

 创建文件夹

mkdir redis

进入创建的文件夹

cd myspace/redis

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

wget https://download.redis.io/releases/redis-6.2.6.tar.gz

解压Redis压缩包

tar -zxvf redis-6.2.6.tar.gz

解压出来的文件为 redis-6.2.6
进入文件夹中

cd redis-6.2.6

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

sudo apt-get update  
sudo apt-get install make

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

sudo make
## 如果失败 请先执行
sudo make MALLOC=libc
## 在执行
sudo make

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

sudo make test

安装Redis

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玩意儿启动的配置文件。

创建六个文件夹 分别为

mkdir redis-node1

以此类推

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

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

# 服务端启动的端口
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的六个节点

启动命令

/redis-server redis-node1.conf

如果需要自定义主从节点

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

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

检测是否启动成功

检测命令

ps -ef | grep redis-server

查看是否启动成功

集群连接

集群连接命令。

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集群问题。

1、全部停止所有集群 
2、删除 appendonly.aof 和 dump.rdb 
3、删除所有节点的cluster-config-file
4、重新启动

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1138727.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flink Hive Catalog操作案例

在此对Flink读写Hive表操作进行逐步记录,需要指出的是,其中操作Hive分区表和非分区表的DDL有所不同,以下分别记录。 基础环境 Hive-3.1.3 Flink-1.17.1 基本操作与准备 1、上传依赖jar包到flink/lib目录下 cp flink-sql-connector-hive-…

C++设计模式_14_Facade门面模式

本篇介绍的Facade门面模式属于“接口隔离”模式的一种,以下进行详细介绍。 文章目录 1. “接口隔离”模式1. 1 典型模式 2. 系统间耦合的复杂度3. 动机(Motivation)4. 模式定义5. Facade门面模式的代码实现6. 结构7. 要点总结8. 其他参考 1. “接口隔离”模式 在组…

聚焦养老主业,平安养老险构建一体化养老生态圈

10月23日,是我们国家的传统节日重阳节,这一天也在1989年被我国政府正式定为“中国老人节”, 按照我国将60岁及以上人群定义为老年人的标准来看,我国老年人的占比已经达到了20%。根据国家统计局2022年度统计公报数据显示&#xff0…

【软件安装】Windows系统中使用miniserve搭建一个文件服务器

这篇文章,主要介绍如何在Windows系统中使用miniserve搭建一个文件服务器。 目录 一、搭建文件服务器 1.1、下载miniserve 1.2、启动miniserve服务 1.3、指定根目录 1.4、开启访问日志 1.5、指定启动端口 1.6、设置用户认证 1.7、设置界面主题 (…

【OJ比赛日历】快周末了,不来一场比赛吗? #10.29-11.04 #7场

CompHub[1] 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…)比赛。本账号会推送最新的比赛消息,欢迎关注! 以下信息仅供参考,以比赛官网为准 目录 2023-10-29(周日) #3场比赛2023-10-30…

竞赛选题 深度学习卷积神经网络垃圾分类系统 - 深度学习 神经网络 图像识别 垃圾分类 算法 小程序

文章目录 0 简介1 背景意义2 数据集3 数据探索4 数据增广(数据集补充)5 垃圾图像分类5.1 迁移学习5.1.1 什么是迁移学习?5.1.2 为什么要迁移学习? 5.2 模型选择5.3 训练环境5.3.1 硬件配置5.3.2 软件配置 5.4 训练过程5.5 模型分类效果(PC端) 6 构建垃圾…

布隆过滤器(Bloom Filter)初学习

目录 1、布隆过滤器是什么 2、布隆过滤器的优缺点 3、使用场景 4、⭐基于Redis的布隆过滤器插件安装 4.1 下载布隆过滤器 4.2 创建文件夹并上传文件 4.3 安装gcc 4.4 解压RedisBloom压缩包 4.5 在解压好的文件夹下输入make 4.6 将编译的好的插件拷贝到docker redis容…

Spring Cloud之API网关(Gateway)

目录 API网关 好处 解决方案 Gateway 简介 特征 核心概念 Route(路由) Predicate(断言) Filter(过滤器) 工作流程 Route(路由) 路由配置方式 1.yml配置文件路由 2.bean进行配置 3.动态路由 动态路由 Predicate(断言) 特点 常见断言 示例 Filter(过滤器) …

智能汽车安全:保护车辆远程控制和数据隐私

第一章:引言 智能汽车技术的快速发展为我们带来了许多便利,但也引发了一系列安全和隐私问题。本文将探讨智能汽车安全的重要性,以及如何保护车辆远程控制和数据隐私。 第二章:智能汽车远程控制 智能汽车的远程控制是一项令人兴…

解释一下React中的钩子(hooks),例如useState和useEffect。

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

第二章 基于模型的系统工程 P2|系统建模语言SysML实用指南学习

仅供个人学习记录 建模原则 模型与MBSE方法定义 模型描述的是domain of interest MBSE方法是指以系统模型作为主要制品来实现全部或者部分的系统工程过程 系统建模目的 模型的用途在系统的整个开发全生命周期中是不断完善的,是通过持续完整的需求来描述的。 …

Vue 父子组件传参、插槽

setup 函数中有两个主要的参数:props、context 。 props 用于接收父组件传递过来的数据,父传子。 context 指的是 setup 的上下文,它有三个属性:attrs、slots、emit 。 attrs 用于:当父组件传递过来的数据&#xff…

设计模式(18)桥接模式

一、介绍: 1、定义:桥接(Bridge)模式属于结构型设计模式。通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。把抽象(abstraction)与行为实现(implementation)分离开来,从而可以保持各部分的独立性以及应对它们的功能扩展…

游戏研发的解决方案有哪些?

游戏研发的解决方案可以根据不同的需求和情境而有所不同,以下是一些常见的游戏研发解决方案: 游戏引擎: 游戏引擎是游戏研发的基础,它提供了开发游戏所需的核心功能,如图形渲染、物理引擎、音效管理、动画等。一些流行…

css四种导入方式

1 行内样式 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body> <h1 style"color: blue">我是标题</h1> </body> </htm…

简单电子琴设计verilog蜂鸣器8音阶,视频/代码

名称&#xff1a;简单电子琴设计verilog 软件&#xff1a;QuartusII 语言&#xff1a;Verilog 代码功能&#xff1a; 简易电子琴电路 1、输入为8个按键&#xff0c;每个按键对应一个音阶 2、输出为speaker蜂鸣器&#xff0c;当其中一直按键按下时&#xff0c;输出特定频率…

k8s 部署nginx前端

1.构建docker镜像&#xff0c;k8s拉取镜像运行 ​​​​​​​docker自己安装 [rootmaster1 ~]# docker pull nginx:1.24.0 [rootmaster1 ~]# mkdir k8s-nginx [rootmaster1 ~]# cd k8s-nginx [rootmaster1 k8s-nginx]# vim nginx.conf server_tokens off;server {listen …

第四章 文件管理 七、文件共享

目录 一、基于索引结点的共享方式&#xff08;硬链接) 1、知识回顾&#xff1a; 2、例子&#xff1a; 二、基于符号链的共享方式&#xff08;软链接) 1、例子 三、总结 一、基于索引结点的共享方式&#xff08;硬链接) 1、知识回顾&#xff1a; 索引结点&#xff0c;是一…

前端《中国象棋》游戏

源码下载地址 支持&#xff1a;远程部署/安装/调试、讲解、二次开发/修改/定制 查看视频 本程序是一个基于Html/css/javascrip的网页端象棋APP&#xff0c;其中引入JQuery来简便开发。 在程序中&#xff0c;使用一个Map二维数组来表示棋盘&#xff0c;通过给棋子设置不同的横坐…

【Gradle-11】动态修改VersionName和VersionCode

前言 有个读者问了一个比较有意思又很常见的问题&#xff0c;怎么修改VersionName和VersionCode&#xff1f; 这位读者提问的方式也挺好&#xff0c;报错信息和尝试过的方式都提到了。 关于报错以及解决方案&#xff0c;正如上图我评论回复所说。 静态修改直接在build.gradl…