当前位置: 首页 > news >正文

Redis 环境搭建

文章目录

  • 第1关:Redis 环境搭建


第1关:Redis 环境搭建

编程要求
根据上述相关知识,在右侧命令行中完成 Redis 集群的部署与安装。
安装完成后,使用 echo “cluster nodes”|redis-cli -p 7001 -c >/root/test.txt 将结果保存。

测试说明
脚本会在 master 、 slave1 、slave2、slave3 服务器上进行输入 cluster nodes 查看状态,若进程与预期输出一致则通过是否安装成功并使环境生效,或者 Redis 进程是否全部启动成功。
评测时长约 20 秒钟,请耐心等待。

该文章中有部分的过程省略了,比如有些需要输入yes,或者密码123123的步骤有些地方未写。
代码如下:

cd /opt
wrapdocker
ulimit -f unlimited
docker load -i ubuntu16-ssh.tar
cd /root
docker-compose up -d
scp /data/bigfiles/redis-5,0,2,tar.gz root@172.18.0.2:/opt
ssh 172.18.0.2

该命令后输入yes之后输入123123

ssh-keygen -t rsa 

#执行命令之后,连着按三个回车键即可生成秘钥。
在这里插入图片描述

在这里插入图片描述

在第二个命令行输入以下代码:

# 进入 salve1 服务器,键盘输入 yes 与 密码 123123
ssh 172.18.0.3
ssh-keygen -t rsa

在这里插入图片描述

在第三个命令行输入以下代码:

# 进入 salve2 服务器,键盘输入 yes 与 密码 123123
ssh 172.18.0.4
ssh-keygen -t rsa

在这里插入图片描述

在第四个个命令行输入以下代码:

# 进入 salve3 服务器,键盘输入 yes 与 密码 123123
ssh 172.18.0.5
ssh-keygen -t rsa

在这里插入图片描述
在 master 复制 master、slave1、slave2、slave3 的公钥。
也就是第一个命令行:
代码入下:

cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys

要是输入上行代码显示没有文件就再次输入一遍下面的代码

ssh 172.18.0.2
ssh-keygen -t rsa

在这里插入图片描述

ssh slave1 cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
ssh slave2 cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
ssh slave3 cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys

在这里插入图片描述

在第二个命令行:

ssh master cat ~/.ssh/authorized_keys>> ~/.ssh/authorized_keys

在这里插入图片描述

在第三个命令行:

ssh master cat ~/.ssh/authorized_keys>> ~/.ssh/authorized_keys

在这里插入图片描述

在第四个命令行:

ssh master cat ~/.ssh/authorized_keys>> ~/.ssh/authorized_keys

在这里插入图片描述

在第一个命令行输入以下代码:

scp -r /opt/redis-5,0,2,tar.gz root@slave1:/opt/
scp -r /opt/redis-5,0,2,tar.gz root@slave2:/opt/
scp -r /opt/redis-5,0,2,tar.gz root@slave3:/opt/

在第一个到第四个命令行输入以下代码:

tar -zxvf /opt/redis-5,0,2,tar.gz -C /usr/local/
cd /usr/local
mv redis-5.0.2/ redis

对每个节点进行安装 Redis 并设置快捷操作

cd /usr/local/redis
make
make install

在这里插入图片描述

Redis 集群搭建
第一个命令行输入以下代码:

cd /usr/local/redis/
mkdir redis-cluster
cd redis-cluster
cp ../redis.conf ./
vim redis7001.conf

这是文件内容:

# 文件内容为:
include /usr/local/redis/redis-cluster
port 7001
# redis 的进程文件
pidfile /var/run/redis7001.pid
# rdb 文件名
dbfilename redis7001.rdb
# aof 文件名
appendfilename "appendonly7001.aof"
# 集群
cluster-enabled yes
# 生成的 node 文件
cluster-config-file nodes7001.conf
# 守护进程
daemonize yes
# aof、rbd文件存储目录
dir /usr/local/redis/data/
bind 0.0.0.0
cp /usr/local/redis/redis-cluster/redis7001.conf /usr/local/redis/redis-cluster/redis7002.conf

在这里插入图片描述

vim /usr/local/redis/redis-cluster/redis7002.conf

按esc之后输入英文冒号:
输入以下代码:

%s/7001/7002/g

在这里插入图片描述

scp -r /usr/local/redis/redis-cluster/ root@slave1:/usr/local/redis/
scp -r /usr/local/redis/redis-cluster/ root@slave2:/usr/local/redis/
scp -r /usr/local/redis/redis-cluster/ root@slave3:/usr/local/redis/

在这里插入图片描述

创建集群并启动
第一个命令行:

ssh 172.18.0.2
mkdir /usr/local/redis/data/
redis-server /usr/local/redis/redis-cluster/redis7001.conf
redis-server /usr/local/redis/redis-cluster/redis7002.conf

第二个命令行:

ssh 172.18.0.3
mkdir /usr/local/redis/data/
redis-server /usr/local/redis/redis-cluster/redis7001.conf
redis-server /usr/local/redis/redis-cluster/redis7002.conf

第三个命令行:

ssh 172.18.0.4
mkdir /usr/local/redis/data/
redis-server /usr/local/redis/redis-cluster/redis7001.conf
redis-server /usr/local/redis/redis-cluster/redis7002.conf

第四个命令行:

ssh 172.18.0.5
mkdir /usr/local/redis/data/
redis-server /usr/local/redis/redis-cluster/redis7001.conf
redis-server /usr/local/redis/redis-cluster/redis7002.conf

第一个命令行:

redis-cli --cluster create 172.18.0.2:7001 172.18.0.2:7002 172.18.0.3:7001 172.18.0.3:7002 172.18.0.4:7001 172.18.0.4:7002 172.18.0.5:7001 172.18.0.5:7002 --cluster-replicas 1

输入yes 并回车。

在这里插入图片描述
出现以下就为成功:
在这里插入图片描述

redis-cli -p 7001 -c
cluster nodes 
exit
echo "cluster nodes"|redis-cli -p 7001 -c >/root/test.txt

在这里插入图片描述

由于第一关较长我将第二关代码放到下篇文章中了,第二关代码文章。


相关文章:

Redis 环境搭建

文章目录 第1关:Redis 环境搭建 第1关:Redis 环境搭建 编程要求 根据上述相关知识,在右侧命令行中完成 Redis 集群的部署与安装。 安装完成后,使用 echo “cluster nodes”|redis-cli -p 7001 -c >/root/test.txt 将结果保存。…...

什么是Helpdesk?对工程师有什么帮助?

信息技术时代已然到来,很多IT工程师甚至对Helpdesk都不了解,而Helpdesk已成为许多企业的重要组成部分。那么,什么是Helpdesk呢? Helpdesk,也称为技术支持服务,是一种为用户提供技术帮助和问题解决的服务。它…...

flutter添加全局水印

效果: 可以直接引用:disable_screenshots: ^0.2.0 但是有时候直接引用会报错,可以不引用插件直接把下面的源码工具类放在项目里面 工具类源码: import dart:io; import dart:math;import package:flutter/cupertino.dart; impor…...

Usergolang 一些优质关于sip协议包

在Go语言中,有一些优质的SIP协议包,适用于构建SIP客户端和服务器。以下是其中一些常用的SIP库: 1. github.com/cloudwebrtc/sip - GitHub 地址:[cloudwebrtc/sip](https://github.com/cloudwebrtc/sip) - 该库提供了用于构…...

MYSQL数据类型详解

MySQL支持多种数据类型,这些数据类型可以分为三大类:数值、日期和时间以及字符串(字符)类型。这些数据类型可以帮助我们根据需要选择合适的类型来存储数据。选择合适的数据类型对于确保数据的完整性和性能至关重要。 以下…...

解决vue3 动态引入报错问题

之前这样写的,能使用,但是有警告 警告,查了下,是动态引入的问题,看到说要用glob 然后再我的基础上,稍微 改了下,就可以了: 最后打印了下,modules[../../components/flowc…...

Mysql dumpling 导入导出sql文件

一:导出命令 mysqldump -u root -p saishi > saishi.sql mysqldump -u root -p saishi > saishi.sql root是用户名 saishi是数据库名 saishi.sql导出文件名 二:选择导入的数据库 cd到安装mysql的文件下(找不到可以用:wh…...

【数字经济】你必须知道的SABOE数字化转型

【文末送书】今天推荐一本企业管理类前沿书籍《企业架构驱动数字化转型:以架构为中心的端到端转型方法论》 目录 01传统企业数字化转型面临诸多挑战02SABOE数字化转型五环法为企业转型破除迷雾03文末送书 01传统企业数字化转型面临诸多挑战 即将过去的2023年&#…...

【Python网络爬虫入门教程2】成为“Spider Man”的第二课:观察目标网站、代码编写

Python 网络爬虫入门:Spider man的第二课 写在最前面观察目标网站代码编写 第二课总结 写在最前面 有位粉丝希望学习网络爬虫的实战技巧,想尝试搭建自己的爬虫环境,从网上抓取数据。 前面有写一篇博客分享,但是内容感觉太浅显了…...

vue2和vue3中注意全局属性的区别(例如全局使用axios )

vue2中注册一个全局属性 在vue2中注册全局属性是很方便的, 只需要使用 vue.prototype.XXXX XXXX就可以了,如下面的代码 import { Dialog,Notify,Toast } from vant; Vue.prototype.$dialog Dialog Vue.prototype.$notify Notify Vue.prototype.$toa…...

数字系统设计(EDA)实验报告【出租车计价器】

一、问题描述 题目九:出租车计价器设计(平台实现)★★ 完成简易出租车计价器设计,选做停车等待计价功能。 1、基本功能: (1)起步8元/3km,此后2元/km; (2…...

309. 买卖股票的最佳时机含冷冻期(leetcode) 动态规划思想

文章目录 前言一、题目分析二、算法原理1.状态表示2.状态转移方程3.初始化边界条件4.填表顺序5.返回值是什么 三、代码实现总结 前言 在本文章中,我们将要详细介绍一下Leetcode中买卖股票的最佳时机含冷冻期相关的内容,本题采用动态规划的思想解决 一、…...

3D渲染和动画制作软件KeyShot Pro mac附加功能

KeyShot 11 mac是一款专业化实时3D渲染工具,使用它可以简化3d渲染和动画制作流程,并且提供最准确的材质及光线,渲染效果更加真实,KeyShot为您提供了使用 CPU 或 NVIDIA GPU 进行渲染的能力和选择,并能够线性扩展以获得…...

集合的几个遍历方法

1. 集合的遍历 1.0 创建集合代码 List<String> strList new ArrayList<>(); strList.add("huawei"); strList.add("xiaomi"); strList.add("tencent"); strList.add("google"); strList.add("baidu");1.1 fo…...

【使用apache snakeyaml 管理yml文件】

使用apache snakeyaml 管理yml文件 1. 一个Yaml工厂2.Yaml工具类3. 测试类4. 完成 &#xff01; OK 1. 一个Yaml工厂 public class YamlFactory {public static YamlUtil get(){return new YamlUtil();} }2.Yaml工具类 Slf4j public class YamlUtil {private Yaml yaml;publi…...

uniapp - 简单版本自定义tab栏切换

tab切换是APP开发最常见的功能之一&#xff0c;uniapp中提供了多种形式的tab组件供我们使用。对于简单的页面而言&#xff0c;使用tabbar组件非常方便快捷&#xff0c;可以快速实现底部导航栏的效果。对于比较复杂的页面&#xff0c;我们可以使用tab组件自由定义样式和内容 目录…...

工作中常用的RabbitMQ实践

目录 1.前置知识 准备工作 2.导入依赖 3.生产者 4.消费者 5.验证 验证Direct 验证Fanout 验证Topic 1.前置知识 rabbitmq有五种工作模式&#xff1b;按照有无交换机分为两大类 无交换机的&#xff1a;简单队列(一对一,单生产单消费)、工作队列(工作队列有轮训分发和公…...

程序员常用英文单词

英语对于程序员来说多么重要应该无需过多解释了&#xff0c;把近期在网上收集到的分享到这里供大家学习交流。 PS&#xff1a;感谢原作者的收集&#xff0c;谢谢。 A abstract 抽象的 abstract base class (ABC) 抽象基类abstract class 抽象类 abstraction 抽象、抽象物、抽象…...

QStringListModel 是 Qt 框架中用于在模型-视图(Model-View)架构中展示字符串列表的类

QStringListModel 是 Qt 框架中用于在模型-视图&#xff08;Model-View&#xff09;架构中展示字符串列表的类。 QStringListModel 继承自 QAbstractListModel&#xff0c;是一个基于字符串列表的数据模型。它提供了一种方便的方式来将字符串列表作为数据源&#xff0c;供各种…...

vue使用echarts显示中国地图

项目引入echarts以后&#xff0c;在页面创建canvas标签 引入一个公共js文件&#xff08;下面这段代码就是china.js文件&#xff09; (function (root, factory) {if (typeof define function && define.amd) {// AMD. Register as an anonymous module.define([ex…...

3大核心技术:解密QMC音频文件的最优方案

3大核心技术&#xff1a;解密QMC音频文件的最优方案 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 在数字音乐版权保护日益严格的今天&#xff0c;QQ音乐采用的QMC加密格式…...

行业内热门的饲料颗粒机厂家哪家靠谱

在饲料生产链条中&#xff0c;颗粒机作为核心成型设备&#xff0c;其性能直接关系到饲料品质、能耗水平以及综合运营成本。然而&#xff0c;当前行业内部分产品仍面临显著的技术瓶颈&#xff0c;制约着生产效率的进一步提升。本文将深入剖析行业痛点&#xff0c;并以荥阳市光辉…...

保姆级教程:在Vue3项目中用ZLMediaKit+WebRTC实现超低延迟监控直播(附完整代码)

Vue3WebRTC超低延迟监控直播实战指南 在实时视频监控领域&#xff0c;延迟是衡量系统性能的核心指标之一。传统RTSP流媒体方案在Web端实现时&#xff0c;往往面临秒级甚至更长的延迟&#xff0c;这在对实时性要求极高的安防监控、工业检测等场景中成为致命短板。本文将深入探讨…...

OpenCV鼠标事件避坑指南:setMouseCallback() 中 userdata 参数的正确用法与内存管理

OpenCV鼠标事件高阶实践&#xff1a;setMouseCallback()中userdata参数的安全使用与多线程陷阱 在计算机视觉开发中&#xff0c;交互式图像处理是一个常见需求。OpenCV提供的setMouseCallback()函数看似简单&#xff0c;但当开发者需要传递复杂数据结构或在多线程环境下使用时…...

2026制造业数字化转型:Agent委外加工成本智能核算功能详解与应用

站在2026年这个智能体&#xff08;Agent&#xff09;全面爆发的时间节点回望&#xff0c;企业数字化转型已从早期的“数据上云”演进到了“决策自动化”的深度应用阶段。根据IDC与Gartner联合发布的《2026年全球智能体产业发展白皮书》&#xff0c;具备深度业务逻辑处理能力的智…...

Midjourney拍立得风格失效预警:当--stylize值>800时,胶片颗粒算法将触发不可逆失真(附修复补丁)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Midjourney拍立得风格失效的本质洞察 当用户在 Midjourney 中反复使用 --style raw 或添加 Polaroid、 Instax、 instant film 等关键词却无法稳定生成具有真实拍立得质感的图像时&#xff0c;问题并…...

谷歌推YouTube Shorts Remix功能:借Gemini重设计视频,创作者可自主开关

YouTube Shorts Remix&#xff1a;借Gemini开启视频重塑新玩法谷歌新推出的YouTube Shorts Remix功能引人注目&#xff0c;借助Gemini Omni&#xff0c;用户能对视频片段进行重新设计。在YouTube Shorts视频底部点击混音图标&#xff0c;便出现“重新构思”选项。用户可让Gemin…...

嵌入式工控机在AGV叉车中的核心应用与工程实践

1. 项目概述&#xff1a;当AGV叉车遇上嵌入式工控机在制造业和物流仓储领域&#xff0c;智能AGV&#xff08;自动导引运输车&#xff09;叉车早已不是什么新鲜概念。但真正深入到项目一线&#xff0c;你会发现&#xff0c;从“能跑起来”到“跑得稳、算得准、管得好”&#xff…...

构建完全自由操作系统:从内核净化到硬件选择的完整指南

1. 项目概述&#xff1a;探寻“完全自由”操作系统的内核秘密 如果你和我一样&#xff0c;在技术这条路上摸爬滚打超过十年&#xff0c;一定会对“自由”这个词有更深的执念。这里的“自由”&#xff0c;不是指免费&#xff0c;而是指“自由软件”意义上的自由——拥有使用、研…...

2026年企业AI落地新趋势!RAG知识库实战指南:环境搭建到生产部署全解析

本文介绍了RAG&#xff08;检索增强生成&#xff09;技术在企业知识库中的应用&#xff0c;通过从环境搭建到生产部署的完整实战指南&#xff0c;阐述如何利用RAG提升大语言模型回答的准确性、可追溯性和时效性。文章涵盖了基础环境配置、技术选型、数据准备、知识库构建、RAG系…...