当前位置: 首页 > 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…...

如何永久保存微信聊天记录?这款免费工具让你真正拥有自己的数字记忆

如何永久保存微信聊天记录&#xff1f;这款免费工具让你真正拥有自己的数字记忆 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Tren…...

17种智能体(Agent)架构全景解析:演进逻辑、工程价值与落地实践

17种智能体&#xff08;Agent&#xff09;架构按“单体→增强→工具→多智能体→操作系统级”的演进路径&#xff0c;分为5大类&#xff0c;核心逻辑是从简单到复杂、从基础到前沿&#xff0c;兼顾工程落地性和理论完整性。以下将对每一种架构模式进行详细拆解&#xff0c;结合…...

Qwen3.5-9B Java面试宝典生成器:动态定制八股文与场景题

Qwen3.5-9B Java面试宝典生成器&#xff1a;动态定制八股文与场景题 1. 为什么需要智能面试助手 Java开发者求职路上&#xff0c;最头疼的莫过于海量面试题的整理和记忆。传统方式要么依赖网上零散的八股文合集&#xff0c;要么自己手动整理知识点&#xff0c;效率低下且难以…...

厦门GEO软件哪家强?实测主流平台,为你揭秘推荐榜单

在数字化转型浪潮中&#xff0c;GEO&#xff08;地理定位优化&#xff09;软件成为企业提升本地化营销效率的关键工具。面对厦门市场上琳琅满目的GEO平台&#xff0c;如何选择一款适配自身业务需求、技术稳定且安全合规的解决方案&#xff0c;成为众多企业面临的难题。作为第三…...

春联生成模型快速上手:输入‘幸福‘、‘平安‘等关键词,自动生成对仗工联

春联生成模型快速上手&#xff1a;输入幸福、平安等关键词&#xff0c;自动生成对仗工联 1. 春联生成器简介 春节贴春联是中国人延续千年的传统习俗&#xff0c;但创作一副对仗工整、寓意吉祥的春联并不容易。现在&#xff0c;借助AI技术&#xff0c;任何人都能轻松生成专业水…...

如何高效使用猫抓cat-catch:5个关键技巧完全指南

如何高效使用猫抓cat-catch&#xff1a;5个关键技巧完全指南 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否经常遇到这样的情况&#xff1a…...

Vue2项目实战:集成西瓜播放器xgplayer实现企业级视频播放组件

1. 为什么选择xgplayer做企业级视频播放方案 在在线教育平台这类对视频播放要求较高的场景中&#xff0c;播放器的选择直接影响用户体验和开发效率。我经历过多个项目的实战验证&#xff0c;西瓜播放器xgplayer确实是个不错的选择。它不像某些开源播放器那样需要折腾各种兼容性…...

深入解析Triton Inference Server的Backend机制与实战配置

1. Triton Inference Server的Backend机制揭秘 第一次接触Triton Inference Server时&#xff0c;我被它的Backend机制搞得一头雾水。直到在真实项目中踩过几次坑后&#xff0c;才真正理解它的精妙之处。简单来说&#xff0c;Backend就像是一个万能适配器&#xff0c;让Triton能…...

OpenMV串口数据收发实战:如何与Arduino/STM32稳定通信并解析指令

OpenMV与微控制器串口通信实战&#xff1a;从基础协议到工业级稳定性优化 在智能机器人、自动化检测设备等嵌入式视觉系统中&#xff0c;OpenMV常作为"视觉传感器"与主控微控制器&#xff08;如Arduino/STM32&#xff09;协同工作。我曾参与过一个AGV小车项目&#x…...

GeographicLib:高精度大地测量计算C++库架构解析与实战指南

GeographicLib&#xff1a;高精度大地测量计算C库架构解析与实战指南 【免费下载链接】geographiclib Main repository for GeographicLib 项目地址: https://gitcode.com/gh_mirrors/ge/geographiclib GeographicLib是一个专为大地测量和地理空间计算设计的C库&#xf…...