docker搭建redis-cluster
两台服务器,并且想要搭建 Redis 集群。根据你的命令,Redis 集群将会运行在 Docker 容器中,而你使用的镜像是 redis-cluster:4.0,并且设定了 CLUSTER_ANNOUNCE_IP 环境变量来指定 Redis 实例的 IP 地址。
为了在两台服务器上搭建 Redis 集群,你需要做以下几个步骤:
服务器1:IP 地址 172.16.17.100
服务器2:IP 地址 172.16.17.101
每台服务器上都运行 Redis 集群容器,端口 7000 到 7005 用于 Redis 实例通信,17000 到 17005 用于集群管理。
步骤 1:在每台服务器上启动 Redis 容器
你可以在每台服务器上使用以下命令启动 Redis 集群。确保在每台服务器上指定正确的 CLUSTER_ANNOUNCE_IP 和端口映射。
服务器 1:
docker run --name redis-cluster-1 -d \-e CLUSTER_ANNOUNCE_IP=172.16.17.100 \-p 7000-7005:7000-7005 \-p 17000-17005:17000-17005 \registry.cn-hangzhou.aliyuncs.com/dockerhub_mirror/redis-cluster:4.0
服务器 2:
docker run --name redis-cluster-2 -d \-e CLUSTER_ANNOUNCE_IP=172.16.17.101 \-p 7000-7005:7000-7005 \-p 17000-17005:17000-17005 \registry.cn-hangzhou.aliyuncs.com/dockerhub_mirror/redis-cluster:4.0
步骤 2:等待容器启动并确认 Redis 实例是否正常运行
你可以通过以下命令确认容器是否启动成功:
docker ps
如果容器正常运行,你会看到容器 ID 和端口映射。
步骤 3:配置 Redis 集群
你需要在其中一台服务器上执行以下命令来创建一个 Redis 集群。假设你已经在服务器 1 和服务器 2 上启动了 6 个 Redis 实例(每台服务器上有 3 个实例),然后可以通过 redis-trib 工具来创建集群。
在 服务器 1 上进入 Redis 容器:
docker exec -it redis-cluster-1 bash
进入 Redis 容器后,执行以下命令来创建 Redis 集群:
redis-trib create --replicas 1 \172.16.17.100:7000 172.16.17.100:7001 172.16.17.100:7002 \172.16.17.101:7000 172.16.17.101:7001 172.16.17.101:7002
步骤 4:验证集群
你可以通过以下命令来检查集群的状态:
redis-cli -c -h 172.16.17.100 -p 7000 cluster info
这将返回集群的信息,确认集群是否成功搭建。
相关文章:
docker搭建redis-cluster
两台服务器,并且想要搭建 Redis 集群。根据你的命令,Redis 集群将会运行在 Docker 容器中,而你使用的镜像是 redis-cluster:4.0,并且设定了 CLUSTER_ANNOUNCE_IP 环境变量来指定 Redis 实例的 IP 地址。 为了在两台服务器上搭建 …...
深入了解 Oracle 正则表达式
目录 深入了解 Oracle 正则表达式一、正则表达式基础概念二、Oracle 正则表达式语法(一)字符类(二)重复限定符(三)边界匹配符(四)分组和捕获 三、Oracle 正则表达式函数(…...
傅里叶公式推导(三)
文章目录 周期 2L周期T 周期 2L 周期 T 2 L T2L T2L 的傅里叶变换 即 f ( t ) f ( t 2 L ) f(t) f(t2L) f(t)f(t2L) xt2 π \pi π 2 L 2L 2L 原公式 f ( x ) a 0 2 ∑ n 1 ∞ [ a n cos n x b n sin n x ] a 0 1 π ∫ − π π f ( x ) d x a n 1 π ∫…...
像取快递一样取文件?
看到一个很有意思的项目,像我们做软件分享的感觉会有用,就是现在服务器费用太贵了,如果自建的话感觉不是很值得。 FileCodeBox FileCodeBox 是一个轻量级的文件分享系统,它基于匿名口令分享文本和文件,无需注册登录&…...
【CXX】1 CXX主要概念概览
本文描述了CXX(一个用于在Rust和C之间进行桥接的库)中的关键概念,特别是FFI(外部函数接口)边界所涉及的三种主要类型:共享结构体、不透明类型和函数。 一、示例代码 #[cxx::bridge] mod ffi {// 任何共享…...
PyQT项目如何在Linux中自启显示界面
可以通过systemd服务启动PyQt程序 1. 创建服务文件: 在 /etc/systemd/system/ 目录下创建一个新的服务文件。例如,如果您的程序名为 my_program.py,可以创建一个名为 my_program.service 的文件: sudo nano /etc/systemd/system…...
【信息系统项目管理师-案例真题】2019下半年案例分析答案和详解
更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 试题一【问题 1】(6 分)【问题 2 】(8 分)【问题 3 】(11 分)试题二【问题 1】(5分)【问题 2】 (14 分)【问题 3 】(6 分)试题三【问题 1】(8 分)【问题 2 】(6 分)【问题 3】 (8 分)【问题 4 …...
DeepSeek 助力 Vue 开发:打造丝滑的返回顶部按钮(Back to Top)
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…...
【前端开发学习笔记15】Vue_8
手动添加Pinia到Vue项目: 在实际开发中,Pinia配置可在项目创建时自动添加。初次学习从零开始: 1. 用Vite创建空的Vue3项目,命令为npm create vuelatest。 2. 按官方文档将pinia安装到项目中。 import { createApp } from vue im…...
deepin linux UOS AI 使用 deepseek-r1 30B
我们用 ollama 下载 deepseek-r1 3B 执行命令: $ ollama pull models/unsloth/DeepSeek-R1-Distill-Qwen-32B-GGUF 下载完成后 我们就要重新更改目录和文件了 deepseek-r1/gguf (这是目录结构) 然后我把 gguf文件 更名成 DeepSeek-R1.gguf (就是目录下最大的那个文件) …...
通过docker启用rabbitmq插件
创建文件,docker-compose.yml services:rabbitmq:image: rabbitmq:4.0-managementports:- "5672:5672"- "15672:15672"volumes:- ./data/rabbitmq/data:/var/lib/rabbitmq # 持久化数据- ./data/rabbitmq/plugins/rabbitmq_delayed_message_ex…...
对比 LVS 负载均衡群集的 NAT 模式和 DR 模式,比较其各自的优势 与基于 openEuler 构建 LVS-DR 群集
一、 对比 LVS 负载均衡群集的 NAT 模式和 DR 模式,比较其各自的优势 NAT 模式 部署简单:NAT 模式下,所有的服务器节点只需要连接到同一个局域网内,通过负载均衡器进行网络地址转换,就可以实现负载均衡功能。不需要对…...
C++17 中 std::lcm:从入门到精通
文章目录 一、引言二、std::lcm 的基本概念三、入门示例四、计算多个整数的最小公倍数五、std::lcm 的实现原理六、在实际项目中的应用七、注意事项八、总结 一、引言 在 C 编程中,处理数学运算时,计算最小公倍数(Least Common Multiple&…...
html 点击弹出视频弹窗
一、效果: 点击视频按钮后,弹出弹窗 播放视频 二、代码 <div class="index_change_video" data-video-src="</...
docker安装mongo,导入、导出数据
1、docker安装mongo docker pull mongo docker run -d -p 27017:27017 --name mongodb mongodocker update mongodb --restartalways ## 开机自启动-d:表示以后台模式运行容器。 -p 27017:27017:将容器内部的 MongoDB 默认端口 27017 映射到宿主机的 27…...
代码随想录算法【Day44】
Day44 1143.最长公共子序列 class Solution { public:int longestCommonSubsequence(string text1, string text2) {vector<vector<int>> dp(text1.size() 1, vector<int>(text2.size() 1, 0));for (int i 1; i < text1.size(); i) {for (int j 1; …...
项目总结:java agent的使用
测试团队会做java agent的事,实现测试模拟,各种数据采集等等工作,而这些不需要开发改代码来做到,只需要挂载下agent。 目录 javaagent认识和例子代码例子:java.lang.instrument自定义实现一个javaagentagent jar测试 回…...
使用 LangChain 对接硅基流动(SiliconFlow)API:构建一个智能对话系统
文章目录 什么是硅基流动(SiliconFlow)?LangChain 简介在 LangChain 中对接硅基流动步骤 1:安装必要的库步骤 2:设置 API 密钥步骤 3:编写代码代码解析步骤 4:运行代码如何扩展和改进总结 在现代…...
如何借助NoETL指标平台实现数据分析、决策的提效?
通常,企业通过明确分析目标、定位所需分析的数据,再通过多渠道汇集销售数据、客户反馈、市场调研等信息,经过数据清洗、缺失值处理及格式标准化等手段,运用描述性统计、回归分析、聚类分析及关联规则挖掘等多样分析方法࿰…...
Java--IO流详解 (上)--字符流
目录 IO流的概念 字符流 输入流 Reader核心方法 1.close() 2.mark(int readAheadLimit) 3.markSupported() 4.read() 5.read(char[] cbuf) 6.read(char[] cbuf, int off, int len) 7.read(CharBuffer target) 8.ready() 9.reset() 10.skip(long n) Reader 的常用…...
大模型语言简介
大模型语言能做什么 信息提取 将长段文字中的信息抽取出来并且以结构化的方式输出。相比起传统NLP的方式,大模型在泛化能力上有非常大的提升,并且开发成本要低2个数量级。应用场景包括:论文论点论据提取、用户画像提取、舆情分析、病例结构…...
手动配置IP
手动配置IP,需要考虑四个配置项: 四个配置项 IP地址、子网掩码、默认网关、DNS服务器 IP地址:格式表现为点分十进制,如192.168.254.1 子网掩码:用于区分网络位和主机位 【子网掩码的二进制表达式一定是连续的&#…...
Golang 进阶训练营
一、Golang 的 slice、map、channel 1.1 slice vs array a : make([]int, 100) //切片 b : [100]int{} //数组array需指明长度,长度为常量且不可改变 array长度为其类型中的组成部分(给参数为长度100的数组的方法传长度为101的会报错) array在…...
2-使用wifidog实现portal
wifidog是openwrt上面实现portal认证的一个开源工具,从网关端到服务器都帮你搭建好,通过学习wifidog的原理,后面就可以改造成自己需要的逻辑。 1. openwrt安装wifidog 添加源 vim 14.07/feeds.conf.defaultsrc-git wifidog https://github.c…...
Spring Boot + ShardingSphere 踩坑记
最近在准备秋招,偷了个轮子项目之后想改个分表,于是有了这篇文章。 省流:请使用shardingsphere-jdbc 5.5.2,并根据官方5.5.2版本文档进行配置,不要使用starter。此外,如果希望使用INTERVAL分片算法&#x…...
AI时代前端开发的创造力:解放还是束缚?
在人工智能(AI)快速发展的时代,AI技术的影响已经渗透到各个领域,从医疗保健到金融服务,再到创意产业。AI工具的出现,为前端开发带来了前所未有的效率提升,但也引发了人们对创造力的担忧…...
有哪些免费的SEO软件优化工具
随着2025年互联网的不断发展,越来越多的企业意识到在数字营销中,网站的曝光度和排名至关重要。无论是想要提高品牌知名度,还是想要通过在线销售增加收益,SEO(搜索引擎优化)都是一项不可忽视的关键策略。而要…...
FastExcel + Java:打造高效灵活的Excel数据导入导出解决方案
作者:后端小肥肠 🍇 我写过的文章中的相关代码放到了gitee,地址:xfc-fdw-cloud: 公共解决方案 🍊 有疑问可私信或评论区联系我。 🥑 创作不易未经允许严禁转载。 姊妹篇: 基于AOP的数据字典实现…...
在Vue中,JavaScript数组常用方法,添加,插入,查找,删除等整理
在Vue中,JavaScript数组常用,添加,插入,查找,删除等整理 1.splice()方法可以直接修改原数组,通过指定要删除元素的索引来删除它。 例: let index // 要删除的元素的索引; this.array.splice(i…...
vue知识点2
1.methods和mounted的区别 methods是定义方法,不涉及到调用 mounted涉及到操作 所以methods后面是:,mounted后面是() 2.介绍一下emit的用法 如果子控件要调用父页面的方法,在父页面的子控件引用处&…...
