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. 完成 ! 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开发最常见的功能之一,uniapp中提供了多种形式的tab组件供我们使用。对于简单的页面而言,使用tabbar组件非常方便快捷,可以快速实现底部导航栏的效果。对于比较复杂的页面,我们可以使用tab组件自由定义样式和内容 目录…...

工作中常用的RabbitMQ实践
目录 1.前置知识 准备工作 2.导入依赖 3.生产者 4.消费者 5.验证 验证Direct 验证Fanout 验证Topic 1.前置知识 rabbitmq有五种工作模式;按照有无交换机分为两大类 无交换机的:简单队列(一对一,单生产单消费)、工作队列(工作队列有轮训分发和公…...
程序员常用英文单词
英语对于程序员来说多么重要应该无需过多解释了,把近期在网上收集到的分享到这里供大家学习交流。 PS:感谢原作者的收集,谢谢。 A abstract 抽象的 abstract base class (ABC) 抽象基类abstract class 抽象类 abstraction 抽象、抽象物、抽象…...
QStringListModel 是 Qt 框架中用于在模型-视图(Model-View)架构中展示字符串列表的类
QStringListModel 是 Qt 框架中用于在模型-视图(Model-View)架构中展示字符串列表的类。 QStringListModel 继承自 QAbstractListModel,是一个基于字符串列表的数据模型。它提供了一种方便的方式来将字符串列表作为数据源,供各种…...

vue使用echarts显示中国地图
项目引入echarts以后,在页面创建canvas标签 引入一个公共js文件(下面这段代码就是china.js文件) (function (root, factory) {if (typeof define function && define.amd) {// AMD. Register as an anonymous module.define([ex…...

接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...

python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

图表类系列各种样式PPT模版分享
图标图表系列PPT模版,柱状图PPT模版,线状图PPT模版,折线图PPT模版,饼状图PPT模版,雷达图PPT模版,树状图PPT模版 图表类系列各种样式PPT模版分享:图表系列PPT模板https://pan.quark.cn/s/20d40aa…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
《C++ 模板》
目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...