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

《Linux运维总结:基于x86_64架构CPU使用docker-compose一键离线部署etcd 3.5.15容器版分布式集群》

总结:整理不易,如果对你有帮助,可否点赞关注一下?

更多详细内容请参考:《Linux运维篇:Linux系统运维指南》


一、部署背景

由于业务系统的特殊性,我们需要面对不同的客户部署业务系统,etcd作为重要的一环,为了更快捷有效的部署etcd,这里编写了基于x86_64架构一键离线docker容器版etcd 3.5.15集群工具。

docker版本 docker-compose版本
26.1.3 v2.29.0

二、工具介绍

一键部署工具实现功能如下:

1、支持单机部署(1 etcd)。
2、支持单机伪集群部署(3 etcd)。
3、支持多机分布式机部署(3 etcd)。
4、支持数据目录、端口灵活配置。
5、支持数据目录、日志目录持久化。
6、支持部署、启动、停止、卸载、检测等操作。


三、工具下载

基于x86_64架构CPU使用docker-compose一键离线部署etcd v3.5.15容器版分布式集群工具


四、部署步骤

说明:这里就只演示,在3台主机上部署etcd 3.5.15集群。

1、查看帮助命令
在这里插入图片描述


2、编辑变量文件

说明:变量文件内容3台主机需相同。

[root@ecs-bdb3-0001 etcd-cluster]# cp cluster.conf.tpl cluster.conf
[root@ecs-bdb3-0001 etcd-cluster]# vim cluster.conf
# 建议填写为当前磁盘最大存储空间目录,如果系统盘空间最大,建议填写为/data,如果挂在盘空间最大,建议填写为挂载目录
export BASE_DIR=""# etcd1主机内网IP/端口,端口不冲突情况下,建议不修改
export ETCD1_HOST="192.168.1.111"
export ETCD1_CLIENT_PORT="3179"              # 提供HTTP API服务,用于客户端与etcd交互
export ETCD1_PEER_PORT="3180"                # 用于etcd集群内部成员之间的通信,包括数据同步和心跳检测  
export ETCD1_PROMETHEUS_PORT="3181"          # Prometheus度量指标提供程序使用此端口来提供etcd的性能指标
export ETCD1_CONTAINER_NAME="etcd-cluster-1" # etcd1节点容器名称,可根据实际需求修改# etcd2主机内网IP/端口,端口不冲突情况下,建议不修改
export ETCD2_HOST="192.168.1.112"
export ETCD2_CLIENT_PORT="3279"              # 提供HTTP API服务,用于客户端与etcd交互
export ETCD2_PEER_PORT="3280"                # 用于etcd集群内部成员之间的通信,包括数据同步和心跳检测  
export ETCD2_PROMETHEUS_PORT="3281"          # Prometheus度量指标提供程序使用此端口来提供etcd的性能指标
export ETCD2_CONTAINER_NAME="etcd-cluster-2" # etcd2节点容器名称,可根据实际需求修改# etcd3主机内网IP/端口,端口不冲突情况下,建议不修改
export ETCD3_HOST="192.168.1.113" 
export ETCD3_CLIENT_PORT="3379"              # 提供HTTP API服务,用于客户端与etcd交互
export ETCD3_PEER_PORT="3380"                # 用于etcd集群内部成员之间的通信,包括数据同步和心跳检测
export ETCD3_PROMETHEUS_PORT="3381"          # Prometheus度量指标提供程序使用此端口来提供etcd的性能指标
export ETCD3_CONTAINER_NAME="etcd-cluster-3" # etcd3节点容器名称,可根据实际需求修改# 数据存储目录,默认不修改
export ETCD_DATA_DIR="${BASE_DIR}/basic-data"

3、执行一键部署

1、etcd1节点部署

[root@ecs-bdb3-0001 etcd-cluster]# ./op.sh build etcd1

执行结果,如下图所示:
在这里插入图片描述


2、分发部署包到etcd2和etcd3节点

[root@ecs-bdb3-0001 opt]# scp -r etcd-cluster root@192.168.1.112:/opt
[root@ecs-bdb3-0001 opt]# scp -r etcd-cluster root@192.168.1.113:/opt

3、etcd2节点部署

[root@ecs-bdb3-0002 etcd-cluster]# ./op.sh build etcd2

执行结果,如下图所示:
在这里插入图片描述


4、etcd3节点部署

[root@ecs-bdb3-0003 etcd-cluster]# ./op.sh build etcd3

执行结果,如下图所示:
在这里插入图片描述


五、其它操作

5.1、启动

说明:分别在对应主机节点上执行。

[root@ecs-bdb3-0001 etcd-cluster]# ./op.sh start etcd1
[root@ecs-bdb3-0002 etcd-cluster]# ./op.sh start etcd2
[root@ecs-bdb3-0003 etcd-cluster]# ./op.sh start etcd3

5.2、停止

说明:分别在对应主机节点上执行。

[root@ecs-bdb3-0001 etcd-cluster]# ./op.sh stop etcd1
[root@ecs-bdb3-0002 etcd-cluster]# ./op.sh stop etcd2
[root@ecs-bdb3-0003 etcd-cluster]# ./op.sh stop etcd3

5.3、检查

说明:分别在对应主机节点上执行。

[root@ecs-bdb3-0001 etcd-cluster]# ./op.sh check etcd1
[root@ecs-bdb3-0002 etcd-cluster]# ./op.sh check etcd2
[root@ecs-bdb3-0003 etcd-cluster]# ./op.sh check etcd3

执行结果,如下图所示:
在这里插入图片描述


5.4、卸载

说明:分别在对应主机节点上执行。

[root@ecs-bdb3-0001 etcd-cluster]# ./op.sh clear etcd1
[root@ecs-bdb3-0002 etcd-cluster]# ./op.sh clear etcd2
[root@ecs-bdb3-0003 etcd-cluster]# ./op.sh clear etcd3

总结:整理不易,如果对你有帮助,可否点赞关注一下?

更多详细内容请参考:《Linux运维篇:Linux系统运维指南》

相关文章:

《Linux运维总结:基于x86_64架构CPU使用docker-compose一键离线部署etcd 3.5.15容器版分布式集群》

总结:整理不易,如果对你有帮助,可否点赞关注一下? 更多详细内容请参考:《Linux运维篇:Linux系统运维指南》 一、部署背景 由于业务系统的特殊性,我们需要面对不同的客户部署业务系统&#xff0…...

WPF动画

补间动画:动画本质就是在一个时间段内对象尺寸、位移、旋转角度、缩放、颜色、透明度等属性值的连续变化。也包括图形变形的属性。时间、变化的对象、变化的值 工业应用场景:蚂蚁线、旋转、高度变化、指针偏移、小车 WPF动画与分类 特定对象处理动画过…...

大数据系列之:统计hive表的详细信息,生成csv统计表

大数据系列之:统计hive表的详细信息,生成csv统计表 一、获取源数据库、源数据库类型、hive数据库名称二、获取hive数据库名、hive表名、数仓层级、空间、维护者信息三、统计hive表信息四、统计源库信息五、合并hive表信息六、生成csv统计表七、完整代码一、获取源数据库、源数…...

flutter 画转盘

import package:flutter/material.dart; import dart:math;const double spacingAngle 45.0; // 每两个文字之间的角度 // 自定义绘制器,ArcTextPainter 用于在圆弧上绘制文字 class ArcTextPainter extends CustomPainter {final double rotationAngle; // 动画旋…...

图像识别,图片线条检测

import cv2 import numpy as np # 读取图片 img cv2.imread(1.png)# 灰度化 gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)# 边缘检测 edges cv2.Canny(gray, 100, 200) 当某个像素点的梯度强度低于 threshold1 时,该像素点被认为是非边缘;当梯度强度…...

python crawler web page

npm install or pip install 插件 import json import time from openpyxl import load_workbook from pip._vendor import requests from bs4 import BeautifulSoup import pandas as pd import re import xlsxwriter 設置request header header {user-agent: Mozilla/5.0…...

基于QT实现的TCP连接的网络通信(客户端)

上篇介绍了QT实现网络通信的服务器端,还没看服务器的朋友们先去上篇了解,这篇我来实现一下客户端的实现。 首先还是新建一个项目 选择mainwindow类 在通信前将.pro文件的第一行代码中追加network 窗口搭建 在mainwindow.ui中完成一下窗口的搭建 首先在…...

Vue2中watch与Vue3中watch对比

上一节说到了 computed计算属性对比 ,虽然计算属性在大多数情况下更合适,但有时也需要一个自定义的侦听器。这就是为什么 Vue 通过 watch 选项提供了一个更通用的方法,来响应数据的变化。当需要在数据变化时执行异步或开销较大的操作时&#…...

Web 3 一些常见术语

目录 Provider 提供者Signer 签名者Transaction 交易Contract 合约Receipt 收据 首先,从高层次上对可用对象的类型及其负责的内容有一个基本的了解是很有用的。 Provider 提供者 一个 Provider 是与区块链的只读连接,允许查询区块链状态,例…...

揭开数据分析中的规范性分析:从入门到精通

目录 引言1. 规范性分析的基本概念2. 规范性分析的方法论2.1 线性规划:资源利用最大化2.2 决策树分析:直观的选择路径2.3 贝叶斯网络:应对不确定性的利器2.4 多目标优化:平衡多重目标的艺术 3. 规范性分析的实际应用3.1 商业决策中…...

Linux文件IO

目录 前言 一.文件操作 系统调用接口 1.打开文件 2.关闭文件 3.读取文件 4.写入文件 二.文件描述符 重定向 三.动静态库 前言 在Linux操作系统中,文件I/O是一个核心概念,涉及如何读写文件、与设备通信以及如何管理数据流。Linux下一切皆文件, …...

ccfcsp-202309(1、2、3)

202309-1 坐标变换&#xff08;其一&#xff09; #include <bits/stdc.h> using namespace std; int main() {ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int n, m;cin >> n >> m;int x, y;int opx 0, opy 0;for(int i 0; i < n; i){cin &g…...

数据结构--数据结构概述

一、数据结构三要素 1. 数据的逻辑结构 数据的逻辑结构是指数据元素之间的关系和组织方式&#xff0c;通常分为线性结构和非线性结构。 线性结构&#xff1a;例如线性表&#xff0c;其中数据元素按照顺序排列&#xff0c;彼此之间存在一对一的关系。 非线性结构&#xff1a;…...

Spring中的BeanFactoryAware

BeanFactoryAware 是 Spring 框架中的一个接口&#xff0c;用于在 Spring 容器中获取 BeanFactory 实例。实现这个接口的类可以在其属性被设置后获取到 BeanFactory&#xff0c;从而可以访问 Spring 容器中的其他 bean。 BeanFactoryAware 接口概述 BeanFactoryAware 接口位于…...

Neo4j service is not installed

问题&#xff1a; Starting Neo4j. Neo4j service is not installed Unable to start. See user log for details. Run with --verbose for a more detailed error message.解决&#xff1a; neo4j windows-service install neo4j start ok了...

LeetCode 3132.找出与数组相加的整数 II:排序+3次尝试(nlog n)

【LetMeFly】3132.找出与数组相加的整数 II&#xff1a;排序3次尝试(nlog n) 力扣题目链接&#xff1a;https://leetcode.cn/problems/find-the-integer-added-to-array-ii/ 给你两个整数数组 nums1 和 nums2。 从 nums1 中移除两个元素&#xff0c;并且所有其他元素都与变量…...

微信小程序--26(全局配置-1)

一、全局配置文件 1.标志 app.json 2.配置项 pages 记录当前小程序所有页面的存放路径 window 全局配置小程序窗口配置 tabBar 设置小程序底部的tabBar效果 style 是否启用新版本的组将样式 3.window 导航栏区域 navigationBar …...

汽车4S店管理系统-计算机毕设Java|springboot实战项目

&#x1f34a;作者&#xff1a;计算机毕设残哥 &#x1f34a;简介&#xff1a;毕业后就一直专业从事计算机软件程序开发&#xff0c;至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长&#xff1a;按照需求定制化开发项目、 源…...

bug的常见排查和分析思路以及相关的原因分类

作为开发人员&#xff0c;经常会收到来自用户和QA&#xff0c;领导反馈的各种问题。 为了快速问题&#xff0c;我们有时需要站在更高的角度&#xff0c;更全面的看待问题。才能更快锁定问题。 具体的bug还需要结合企业实际业务情况&#xff0c;相关的框架&#xff0c;依赖库&…...

Nature:7个提升科研产出的实用建议

我是娜姐 迪娜学姐 &#xff0c;一个SCI医学期刊编辑&#xff0c;探索用AI工具提效论文写作和发表。 一个值得思考的问题是&#xff1a;层出不穷的效率工具到底是提升还是降低了科研产出&#xff1f; 大学教授萨拉 (Sara) 描述了她典型的工作日场景&#xff1a;"…...

ReACT深度解析四:从数字员工到数字文明——智能体的终极演进与文明级想象

内容定位&#xff1a;​ 未来畅想文章日期&#xff1a;​ 2026-03-26【场景引入】凌晨两点&#xff0c;南京的OpenClaw训练营早已散场&#xff0c;但服务器日志仍在跳动。一个刚被赋予“学习进化”权限的电商客服智能体&#xff0c;在完成今日第317个订单查询后&#xff0c;没有…...

量化模型精度补偿方案:百川2-13B-4bits在OpenClaw复杂推理中的表现提升

量化模型精度补偿方案&#xff1a;百川2-13B-4bits在OpenClaw复杂推理中的表现提升 1. 量化模型的精度挑战与补偿需求 当我第一次尝试将百川2-13B-4bits量化模型接入OpenClaw进行自动化任务处理时&#xff0c;遇到了一个典型问题&#xff1a;在简单的文件整理和网页操作任务中…...

OpenClaw多模型切换指南:Qwen3-32B与本地Llama混合调用

OpenClaw多模型切换指南&#xff1a;Qwen3-32B与本地Llama混合调用 1. 为什么需要多模型切换&#xff1f; 去年冬天&#xff0c;当我第一次尝试用OpenClaw自动处理周报时&#xff0c;发现一个有趣的现象&#xff1a;用同一个模型处理文本润色和代码生成任务&#xff0c;效果差…...

el-tabs报错Cannot read properties of null (reading ‘insertBefore‘)

使用elementui-plus的tabs组件在开发中遇到的一个问题&#xff0c;分析了代码&#xff0c;发现逻辑没有任何问题&#xff0c;但是点击tab切换就会报错&#xff1a;Uncaught (in promise) TypeError: Cannot read properties of null (reading insertBefore)调试发现parent参数是…...

实战指南:用快马为django项目生成定制化vmware开发环境,开箱即用

实战指南&#xff1a;用快马为Django项目生成定制化VMware开发环境&#xff0c;开箱即用 在实际开发场景中&#xff0c;虚拟机环境需要与具体项目需求紧密结合。最近我在做一个Django项目时&#xff0c;发现每次换电脑或重装系统都要重新配置开发环境&#xff0c;特别浪费时间…...

使用现代 Java 技术栈构建企业级 AI 应用

使用现代 Java 技术栈构建企业级 AI 应用 引言 随着人工智能技术的快速发展&#xff0c;企业级 AI 应用的需求也迅速增长。Java 作为一门成熟的企业级编程语言&#xff0c;其生态系统在 AI 应用开发中扮演着重要角色。本文将探讨如何利用 Java 技术栈构建生产级 AI 应用&#x…...

springboot框架-美妆化妆品商城进货系统

目录系统架构设计技术选型与依赖数据库设计核心功能实现库存预警机制前端交互建议测试与部署扩展性考虑项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作系统架构设计 采用SpringBoot MyBatis-Plus MySQL构建后端&#xff0c;…...

这次终于选对了!盘点2026年圈粉无数的AI论文网站

一天写完毕业论文在2026年已不再是天方夜谭。这是2026年最炸裂、实测能大幅提速的AI论文网站&#xff0c;覆盖选题、写作、查重、排版全流程&#xff0c;真正帮你高效搞定论文。 一、全流程王者&#xff1a;一站式搞定论文全链路&#xff08;一天定稿首选&#xff09; 这类工具…...

Windows资源管理器终极美化指南:一键添加惊艳毛玻璃效果

Windows资源管理器终极美化指南&#xff1a;一键添加惊艳毛玻璃效果 【免费下载链接】ExplorerBlurMica Add background Blur effect or Acrylic (Mica for win11) effect to explorer for win10 and win11 项目地址: https://gitcode.com/gh_mirrors/ex/ExplorerBlurMica …...

说说你对spring的IOC的理解

面试 IOC指的就是控制反转&#xff0c;指的就是创建对象的控制权的转移&#xff0c;简单来说&#xff0c;由之前的手动new对象&#xff0c;转换成了由spring自动生产&#xff0c;spring利用java的反射机制&#xff0c;根据配置文件或注解在运行时动态创建并管理对象。...