《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系统运维指南》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/400776.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【网编】——UDP编程

宏观操作 服务器:socket创套接字—bind绑定连接—recvfrom接收数据/sendto发送数据 客户端:socket创套接字—sendto发送数/recvfrom接收数据—close关闭套接字 函数 recv ssize_t recvfrom ( int sockfd , void * buf , size_t len , int flags , str…

链接Mysql 报错connection errors; unblock with ‘mysqladmin flush-hosts‘错误的解决方法!亲测有效!

文章目录 前言一、使用 mysqladmin flush-hosts 命令解锁 IP 地址二、增加 max_connect_errors 参数三、检查连接错误的原因 前言 今天正常的对各大的测试服进行重启的时候发现每台服务器都启动失败!查看日志发现每台服务器都报一下的错误 java.sql.SQLException:…

【学习笔记】Day 13

一、进度概述 1、《地震勘探原理》第六章 二、详情 个人感觉第五,六,八章的解释更倾向于地质学那边负责的,但是多了解相关原理,肯定是有利于 DL-FWI 的相关研究的,所以这里只是做一个粗略的归纳,相关内容详…

android车载手机互联投屏新专题-实战作业布置

背景: 学习了马哥的投屏实战开发课程后,大家都可以实现如下图一样的手机车机多端互联的投屏场景。 即已经实现了手机和车机投屏互动,车机上手机画面屏幕可以与手机实体屏幕一样就是常见的Mirror模式,如果不一样就是课程里面讲的扩…

【策略模式】设计模式系列:在Java中实现灵活的行为选择(实战指南)

文章目录 策略模式:在Java中实现灵活的行为选择引言1. 策略模式的组成1.1 抽象策略 (Strategy)1.2 具体策略 (Concrete Strategy)1.3 上下文 (Context)1.4 UML类图和时序图 2. 策略模式在Java中的实现步骤一:定义抽象策略接口步骤二:创建具体…

波涛汹涌的海面:适用于恶劣环境的水冷电阻器

电阻器液体冷却可提升 3.3kV 中压负载,并大幅减少工业和船舶应用中的电阻器占用空间。在起重机、升降机、升降机和输送机等电机驱动应用中,风冷电阻器很常见,但在中压、高功率应用中,液体冷却胜出。 使用 3.3kV 电源运行以转动 5…

vue前端可以完整的显示编辑子级部门,用户管理可以为用户分配角色和部门?

用户和角色是一对多的关系用户和部门是多对多得关系<template><div class="s"><!-- 操作按钮 --><div class="shang"><el-input v-model="searchText" placeholder="请输入搜索关键词" style="width:…

MySQL的InnoDB的页里面存了些什么 --InnoDB存储梳理(三)

文章目录 创建新表页的信息新增一条数据根据页号找数据信息脚本代码py_innodb_page_info根据地址计算页号根据页号计算起始地址 主要介绍表空间索引页里面有哪些内容&#xff0c;数据在表空间文件里面是怎么组织的 创建新表页的信息 CREATE TABLE test8 (id bigint(20) NOT N…

跟着iMeta学做图|ggplot2绘制多个饼图展示菌群物种组成

原始教程链接&#xff1a;https://github.com/iMetaScience/iMetaPlot/tree/main/221017multi-pieplot 写在前面 饼图 (Pie Plot) 在微生物组研究中可以用来展示菌群物种组成&#xff0c;可以起到与堆叠柱状图相同的展示效果。本期我们挑选2022年4月5日刊登在iMeta上的The imp…

服务器安装哪吒面板详细教程

本文长期更新地址&#xff1a; 服务器安装哪吒面板详细教程-星零岁的博客https://blog.0xwl.com/13568.html 注&#xff1a;本文中部分内容源自网络&#xff0c;第四步中部分来自本人曾经文章&#xff1a;云服务器安装配置宝塔面板并安装基础运行环境教程-星零岁的博客 今天来讲…

VGMShield:揭秘视频生成模型滥用的检测与追踪技术

人工智能咨询培训老师叶梓 转载标明出处 视频生成模型&#xff0c;如 Stable Video Diffusion 和 Videocrafter&#xff0c;已经能够生成合理且高分辨率的视频。但这些技术进步也带来了被恶意利用的风险&#xff0c;比如用于制造假新闻或进行政治宣传。因此&#xff0c;来自弗…

前端学习大纲 | 主流前端技术 | 学习路线

需要完整的学习路线的宝子可以点击获取&#xff1a;点击即可获取完整的学习路线 第一阶段&#xff08;页面还原能力&#xff09; HTML5、CSS3、Git 第二阶段&#xff08;专攻 JS 逻辑能力&#xff09; JavaScript 基础、JavaScript 进阶、JavaScript 高级、ES6 第三阶段&a…

Leetcode面试经典150题-125.验证回文串

解法都在代码里&#xff0c;不懂就留言或者私信 class Solution {/**这题目感觉不是算法题&#xff0c;应该是考coding的细节点&#xff0c;比如如何判断两个字符是否equals&#xff08;大小写要equals&#xff09;空格要忽略&#xff0c;感觉就是纯coding&#xff0c;难道是为…

城市信息模型:构建未来智慧城市之基底座

在智慧城市的宏大叙事中&#xff0c;城市信息模型&#xff08;City Information Model, CIM&#xff09;平台如同城市智能的神经中枢&#xff0c;将数据、空间与技术深度融合&#xff0c;为城市规划、管理、服务、居民生活提供了前所未有的洞察与优化途径。CIM平台的构建不仅是…

【鸿蒙学习】HarmonyOS应用开发者基础 - 构建更加丰富的页面之Tabs(三)

学完时间&#xff1a;2024年8月14日 一、前言叨叨 学习HarmonyOS的第六课&#xff0c;人数又成功的降了500名左右&#xff0c;到了3575人了。 本文接上一文章【鸿蒙学习】HarmonyOS应用开发者基础 - 构建更加丰富的页面&#xff08;一&#xff09;&#xff0c;继续记录构建更…

微信小程序预览PDF、H5预览PDF、网页预览PDF,并添加专属文字水印

下载PDF.js 点击PDF.js下载地址 引入预览PDF 文件 // const url new URL("./1.pdf", import.meta.url).href // 在本地项目获取pdf // const url "https://xxxx/05d833041f.pdf" // 在线上链接获取pdf const url query.get(url) // 在地址栏获取pdf c…

【STM32项目】在FreeRtos背景下的实战项目的实现过程(一)

个人主页~ 这篇文章是我亲身经历的&#xff0c;在做完一个项目之后总结的经验&#xff0c;虽然我没有将整个项目给放出来&#xff0c;因为这项目确实也是花了米让导师指导的&#xff0c;但是这个过程对于STM32的实战项目开发都是非常好用的&#xff0c;可以说按照这个过程&…

c++ - 特殊类设计

文章目录 一、设计一个不允许拷贝的类二、设计一个只能在堆上实例对象的类三、设计一个只能在栈上创建对象的类四、设计一个不能被继承的类五、设计一个只能创建一个对象的类&#xff08;单例模式&#xff09; 一、设计一个不允许拷贝的类 1、方法一&#xff1a;将拷贝构造和赋…

多云网络部署存在挑战,F5分布式云应用简化方案解读

伴随着人工智能与云计算领域的深度融合与集中爆发&#xff0c;企业在多云环境中面临着挑战&#xff0c;包括复杂性、成本和风险的增加等……对于高度敏捷企业中的开发团队而言&#xff0c;传统网络的沉重运维成本和低效率将会成为发展的障碍。作为一家提供多云应用安全和应用交…

TcpSocket在切后台后如何保活

1&#xff09;TcpSocket在切后台后如何保活 2&#xff09;Magica Clothes 2插件与Burst编译问题 3&#xff09;粒子拖尾合批失败怎么办 4&#xff09;如何让射线追踪跟随我FPS游戏的十字准星进行移动 这是第398篇UWA技术知识分享的推送&#xff0c;精选了UWA社区的热门话题&…