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

etcd集群部署

1.etcd介绍

1.1 什么是etcd

etcd的官方定义如下:

A distributed, reliable key-value store for the most critical data of 
distributed system

etcd是一个Go语言编写的分布式、高可用的一致性键值存储系统,用于提供可靠的分布式键值(key
value)存储、配置共享和服务发现等功能。
官网:etcd官网
文档:文档地址

1.2 etcd的应用场景

分布式系统中的数据分为控制数据和应用数据。etcd的使用场景默认处理的数据都是控制数据,对于
应用数据,只推荐数据量很小,但是更新访问频繁的情况。常见的etcd使用场景包括:服务发现、分
布式锁、分布式队列、分布式通知和协调、主备选举等。

1.3为什么使用etcd

与ZooKeeper相比,etcd更简单,安装、部署和使用更加容易,并且etcd的某些功能是ZooKeeper所
没有的。因此,在很多场景下,etcd比ZooKeeper更受用户的青睐,具体表现在如下几个方面:

  • etcd更加稳定可靠,它的唯一目标就是把分布式一致性KV存储做到极致,所以它更注重稳定 性和扩展性。
  • 在服务发现的实现上,etcd使用的是节点租约(Lease),并且支持Group(多key):而ZooKeeper使用的是临时节点,临时节点存在不少的问题。
  • etcd支持稳定的watch,而不是ZooKeeper一样简单的单次触发(onetimetrigger)watch 因为在微服务的环境下,通过调度系统的调度,一个服务随时可能会下线,也可能为应对临时访问压力而增加新的服务节点,而很多调度系统是需要得到完整节点历史记录的,在这方面,etcd可以存储数十万个历史变更。
  • etcd支持MVCC(多版本并发控制),因为有协同系统需要无锁操作。
  • etcd支持更大的数据规模,支持存储百万到千万级别的key。
  • 相比ZooKeeper,etcd的性能更好。在一个由3台8核节点组成的云服务器上,etcdv3版本
    可以做到每秒数万次的写操作和数十万次的读操作,

在这里插入图片描述

2.etcd实战

2.1 etcd环境搭建

对于搭建开发和测试环境,最简单和快捷的方式是在本地部署一个单机版或集群版的etcd环境。
单实例etcd部署
etcd社区提供了编译好的etcd服务器和客户端的二进制文件以下载

 wget https://github.com/etcd-io/etcd/releases/download/v3.5.13/etcd-v3.5.13-linux-amd64.tar.gztar -zxvf etcd-v3.5.13-linux-amd64.tar.gzcd etcd-v3.5.13-linux-amd64
#启动etcd服务
./etcd
#后台启动etcd,日志文件输出到/tmp/etcd.log目录nohup./etcd>/tmp/etcd.log 2>&1 &
#查看etcd版本
./etcd-version
#将etcd和etcdctl复制到/usr/local/bin目录,系统中可以直接调用etcd/etcdctlcp etcd etcdctl/usr/local/bin

2.2单机多实例etcd部署

etcdserver默认使用2380端口监听集群中其他server的请求,但是如果在同一台机器上有多个
etcdserver都在同一个端口上监听,那么会导致端口冲突。作为示例,我们分别让3个etcdserver
监听在12380、22380、32380端口上。
我们可以通过进程管理工具goreman,快速创建、停止本地的多节点etcd集群


#安装goreman,依赖go环境

go install github.com/mattn/goreman@latest
goreman help

利用goreman创建3节点etcd集群
编写local-cluster-profile文件

etcd1: etcd --name infra1 --listen-client-urls http://127.0.0.1:12379 --advertise-client-urls http://127.0.0.1:12379 --listen-peer urls http://127.0.0.1:12380 --initial-advertise-peer-urls http://127.0.0.1:12380 --initial-cluster-token etcd-cluster-1 --initial-cluster 'infra1=http://127.0.0.1:12380,infra2=http:///127.0.0.1:22380,infra3=http://127.0.0.1:32380' --initial-cluster-state new
etcd2: etcd --name infra2 --listen-client-urls http://127.0.0.1:22379 --advertise-client-urls http://127.0.0.1:22379 --listen-peer urls http://127.0.0.1:22380 --initial-advertise-peer-urls http://127.0.0.1:22380 --initial-cluster-token etcd-cluster-1 --initial-cluster 'infra1=http://127.0.0.1:12380,infra2=http:///127.0.0.1:22380,infra3=http://127.0.0.1:32380' --initial-cluster-state new
etcd3: etcd --name infra3 --listen-client-urls http://127.0.0.1:32379 --advertise-client-urls http://127.0.0.1:32379 --listen-peer urls http://127.0.0.1:32380 --initial-advertise-peer-urls http://127.0.0.1:32380 --initial-cluster-token etcd-cluster-1 --initial-cluster 'infra1=http://127.0.0.1:12380,infra2=http:///127.0.0.1:22380,infra3=http://127.0.0.1:32380' --initial-cluster-state new

在这里插入图片描述

相关文章:

etcd集群部署

1.etcd介绍 1.1 什么是etcd etcd的官方定义如下: A distributed, reliable key-value store for the most critical data of distributed systemetcd是一个Go语言编写的分布式、高可用的一致性键值存储系统,用于提供可靠的分布式键值(key value)存储、配置共享和服务发现等…...

VBA_MF系列技术资料1-615

MF系列VBA技术资料1-615 为了让广大学员在VBA编程中有切实可行的思路及有效的提高自己的编程技巧,我参考大量的资料,并结合自己的经验总结了这份MF系列VBA技术综合资料,而且开放源码(MF04除外),其中MF01-0…...

常用激活函数学习

常用激活函数及其应用 ReLU (Rectified Linear Unit) 公式: f ( x ) max ⁡ ( 0 , x ) f(x) \max(0, x) f(x)max(0,x)理解: 当输入值为正时,输出等于输入值;否则输出为0。ReLU函数简单且计算效率高,能有效缓解梯度消失问题,促进…...

html中被忽略的简单标签

1&#xff1a; alt的作用是在图片不能显示时的提示信息 <img src"https://img.xunfei.cn/mall/dev/ifly-mall-vip- service/business/vip/common/202404071019208761.jp" alt"提示信息" width"100px" height"100px" /> 2&#…...

Vue.Draggable:强大的Vue拖放组件技术探索

一、引言 随着前端技术的不断发展&#xff0c;拖放&#xff08;Drag-and-Drop&#xff09;功能已经成为许多Web应用不可或缺的一部分。Vue.js作为现代前端框架的佼佼者&#xff0c;为开发者提供了丰富的生态系统和强大的工具链。Vue.Draggable作为基于Sortable.js的Vue拖放组件…...

linux mail命令及其历史

一、【问题描述】 最近隔壁组有人把crontab删了&#xff0c;crontab这个命令有点反人类&#xff0c;它的参数特别容易误操作&#xff1a; crontab - 是删除计划表 crontab -e 是编辑&#xff0c;总之就是特别容易输入错误。 好在可以通过mail命令找回&#xff0c;但是mai…...

数据驱动(Data-Driven)和以数据为中心(Data-Centric)的区别

一、什么是数据驱动&#xff1f; 数据驱动&#xff08;Data-Driven&#xff09;是在管理科学领域经常提到的名词。数据驱动决策&#xff08;Data-Driven Decision Making&#xff0c;简称DDD&#xff09;是一种方法论&#xff0c;即在决策过程中主要依赖于数据分析和解释&…...

aosp14的分屏接口ISplitScreen接口获取方式更新-学员疑问答疑

背景&#xff1a; 有学员朋友在学习马哥的分屏pip自由窗口专题时候&#xff0c;做相关分屏做小桌面项目时候&#xff0c;因为原来课程版本是基于android 13进行的讲解的&#xff0c;但是现在公司已经开始逐渐进行相关的android 14的适配了&#xff0c;但是android 14这块相比a…...

定积分求解过程是否变限问题 以及当换元时注意事项

目录 定积分求解过程是否变限问题 文字理解&#xff1a; 实例理解&#xff1a; 易错点和易混点&#xff1a; 1&#xff1a;定积分中的换元指什么&#xff1f; 2&#xff1a; 不定积分中第一类换元法和第二类换元法的本质和区别 3&#xff1a; df(x) ----> df(x)这…...

保研机试算法训练个人记录笔记(七)

输入格式&#xff1a; 在第1 行给出不超过10^5 的正整数N, 即参赛&#xff5d;人数。随后N 行&#xff0c;每行给出一位参赛者的 信息和成绩&#xff0c;包括其所代表的学校的编号&#xff08;从1 开始连续编号&#xff09;及其比赛成绩&#xff08;百分制&#xff09;&#xf…...

【MySQL精通之路】SQL优化(1)-查询优化(23)-避免全表扫描

当MySQL使用全表扫描来解析查询时&#xff0c;EXPLAIN的输出在type列中显示ALL。 这种情况通常发生在以下情况下&#xff1a; 该表非常小&#xff0c;因此执行全表扫描比查找关键字更快。这对于少于10行且行长较短的表来说很常见。 对于索引列&#xff0c;ON或WHERE子句中没有…...

【Linux】写时拷贝技术COW (copy-on-write)

文章目录 Linux写时拷贝技术(copy-on-write)进程的概念进程的定义进程和程序的区别PCB的内部构成 程序是如何被加载变成进程的&#xff1f;写时复制&#xff08;Copy-On-Write, COW&#xff09;写时复制机制的原理写时拷贝的场景 fork与COWvfork与fork Linux写时拷贝技术(copy-…...

用python使用主成分分析数据

import pandas as pd #导入处理二维表格的库 import numpy as np #导入数值计算的库 from sklearn.preprocessing import StandardScaler #导入数据标准化模块 import matplotlib.pyplot as plt #导入画图的包 from sklearn.decomposition import PCA #导入主成…...

用WPS将多张图片生成一个pdf文档,注意参数设置

目录 1 新建一个docx格式的文档 2 向文档中插入图片 3 设置页边距 4 设置图片大小 5 导出为pdf格式 需要把十几张图片合并为一个pdf文件&#xff0c;本以为很简单&#xff0c;迅速从网上找到两个号称免费的在线工具&#xff0c;结果浪费了好几分钟时间&#xff0c;发现需要…...

virtual box ubuntu20 全屏展示

virtual box 虚拟机 ubuntu20 系统 全屏展示 ubuntu20.04 视图-自动调整窗口大小 视图-自动调整显示尺寸 系统黑屏解决 ##设备-安装增强功能 ##进入终端 ##终端打不开&#xff0c;解决方案-传送门ubuntu Open in Terminal打不开终端解决方案-CSDN博客 ##点击cd盘按钮进入文…...

react中的数据驱动视图,useState()的使用

前端开发如今有一个很重要的思想就是数据驱动视图&#xff0c;数据发生变化使ui发生变化&#xff0c;比如一个变量count&#xff0c;为0显示三个按钮&#xff0c;为1显示一个按钮&#xff0c;为2显示两个按钮。这就是一个简单的数据驱动视图。 import { useState } from reactf…...

金融数据库,实时行情,股票财务数据在线查询

jvQuant在线SQL 文档(current)接入 测试 查询 #股票代码股票简称最新价(元)2024-05-21股东总户数(户)截至2024-05-21上市板块是否ST股票区间涨跌幅(%)2024-05-15-2024-05-21市盈率(TTM)(倍)2024-05-21营业收入(元)截至2024-03-31总市值(元)2024-05-21量比2024-05-21利润率(%…...

开源模型应用落地-LangSmith试炼-入门初体验-数据集评估(三)

一、前言 LangSmith是一个用于构建生产级 LLM 应用程序的平台&#xff0c;它提供了调试、测试、评估和监控基于任何 LLM 框架构建的链和智能代理的功能&#xff0c;并能与LangChain无缝集成。通过使用LangSmith帮助开发者深入了解模型在不同场景下的表现&#xff0c;让开发者能…...

设计模式 15 Decorator Pattern 装饰器模式

设计模式 15 Decorator Pattern 装饰器模式 1.定义 Decorator Pattern 装饰器模式是一种结构型设计模式&#xff0c;它允许在运行时给对象添加新的行为或职责&#xff0c;而无需修改对象的源代码。这种模式通过创建一个包装对象&#xff0c;也称为装饰器&#xff0c;来包裹原…...

cuda11.8安装torch2.0.1

pip install torch2.0.1 torchvision0.15.2 torchaudio2.0.2 --index-url https://download.pytorch.org/whl/cu118...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分&#xff1a; 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析&#xff1a; CTR…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...

网站指纹识别

网站指纹识别 网站的最基本组成&#xff1a;服务器&#xff08;操作系统&#xff09;、中间件&#xff08;web容器&#xff09;、脚本语言、数据厍 为什么要了解这些&#xff1f;举个例子&#xff1a;发现了一个文件读取漏洞&#xff0c;我们需要读/etc/passwd&#xff0c;如…...

无人机侦测与反制技术的进展与应用

国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机&#xff08;无人驾驶飞行器&#xff0c;UAV&#xff09;技术的快速发展&#xff0c;其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统&#xff0c;无人机的“黑飞”&…...

CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝

目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为&#xff1a;一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...

Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成

一个面向 Java 开发者的 Sring-Ai 示例工程项目&#xff0c;该项目是一个 Spring AI 快速入门的样例工程项目&#xff0c;旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计&#xff0c;每个模块都专注于特定的功能领域&#xff0c;便于学习和…...

热烈祝贺埃文科技正式加入可信数据空间发展联盟

2025年4月29日&#xff0c;在福州举办的第八届数字中国建设峰会“可信数据空间分论坛”上&#xff0c;可信数据空间发展联盟正式宣告成立。国家数据局党组书记、局长刘烈宏出席并致辞&#xff0c;强调该联盟是推进全国一体化数据市场建设的关键抓手。 郑州埃文科技有限公司&am…...

恶补电源:1.电桥

一、元器件的选择 搜索并选择电桥&#xff0c;再multisim中选择FWB&#xff0c;就有各种型号的电桥: 电桥是用来干嘛的呢&#xff1f; 它是一个由四个二极管搭成的“桥梁”形状的电路&#xff0c;用来把交流电&#xff08;AC&#xff09;变成直流电&#xff08;DC&#xff09;。…...

Vue3中的computer和watch

computed的写法 在页面中 <div>{{ calcNumber }}</div>script中 写法1 常用 import { computed, ref } from vue; let price ref(100);const priceAdd () > { //函数方法 price 1price.value ; }//计算属性 let calcNumber computed(() > {return ${p…...