etcd 集群搭建及常用场景分析

2023-11-17

概述
etcd 是一个分布式一致性k-v存储系统,可用于服务注册发现与共享配置,具有以下优点。
  • 简单 : 相比于晦涩难懂的paxos算法,etcd基于相对简单且易实现的raft算法实现一致性,并通过gRPC提供接口调用
  • 安全:支持TLS通信,并可以针对不同的用户进行对key的读写控制
  • 高性能:10,000 /秒的写性能
1. etcd单机模式
单机模式的etcd运行很简单,只需到官网下载最新的二进制文件,执行即可
./bin/etcd
以上将使用默认配置运行etcd,监听本地的2379端口,用于与client端交互,监听2380用于etcd内部交互,当然,这里单机不会使用到。
  
  
  
./etcdctl set hello world
world
./etcdctl get hello
world
通过etcdctl工具进行测试,以上表示单机可以工作。
2.etcd集群模式
这里的集群模式是指完全集群模式,当然也可以在单机上通过不同的端口,部署伪集群模式,只是那样做只适合测试环境,生产环境考虑到可用性的话需要将etcd实例分布到不同的主机上,这里集群搭建有三种方式,分布是静态配置,etcd发现,dns发现
下面将在以下三台主机上搭建etcd集群,
infra0 10.0.1.111
infra1 10.0.1.109
infra2 10.0.1.110
2.1 配置项说明
--name
etcd集群中的节点名,这里可以随意,可区分且不重复就行 
--listen-peer-urls
监听的用于节点之间通信的url,可监听多个,集群内部将通过这些url进行数据交互(如选举,数据同步等)
--initial-advertise-peer-urls
建议用于节点之间通信的url,节点间将以该值进行通信。
--listen-client-urls
监听的用于客户端通信的url,同样可以监听多个。
--advertise-client-urls
建议使用的客户端通信url,该值用于etcd代理或etcd成员与etcd节点通信。
--initial-cluster-token etcd-cluster-1
节点的token值,设置该值后集群将生成唯一id,并为每个节点也生成唯一id,当使用相同配置文件再启动一个集群时,只要该token值不一样,etcd集群就不会相互影响。
--initial-cluster
也就是集群中所有的initial-advertise-peer-urls 的合集
--initial-cluster-state new
新建集群的标志

2.2 静态配置
静态配置主要预先将集群的配置信息分配好,然后将集群分布启动,集群将根据配置信息组成集群。这里按如下的配置信息分别启动三个etcd。
./etcd --name infra0 --initial-advertise-peer-urls http://10.0.1.111:2380 \
  --listen-peer-urls http://10.0.1.111:2380 \
  --listen-client-urls http://10.0.1.111:2379,http://127.0.0.1:2379 \
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

etcd 集群搭建及常用场景分析 的相关文章

  • dubbo zookeeper spring mvc简单整合的工程例子demo

    该demo只是简单的集成 包括了5个工程 都是maven结构的 如下图所示 服务端 dubbo demo server api 服务接口定义工程 dubbo demo server biz 服务接口实现工程 web dubbo server
  • Kafka常见的导致重复消费原因和解决方案

    点击上方蓝色字体 选择 设为星标 回复 资源 获取更多资源 大数据技术与架构 点击右侧关注 大数据开发领域最强公众号 暴走大数据 点击右侧关注 暴走大数据 问题分析 导致kafka的重复消费问题原因在于 已经消费了数据 但是offset没来
  • Windows系统下zookeeper启动报错JAVA_HOME is incorrectly set

    最近在Windows系统下 下载了zookeeper 3 5 2 alpha这个版本的zookeeper 把配置文件zoo example cfg重命名为zoo cfg后 直接双击zkServer cmd文件启动结果命令行窗口闪一下就消失了
  • 大数据技术之Zookeeper

    第1章 Zookeeper入门 1 1 概述 Zookeeper是一个开源的分布式的 为分布式框架提供协调服务的Apache项目 Zookeeper从设计模式角度来理解 是一个基于观察者模式设计的分布式服务管理框架 它负责存储和管理大家都关
  • docker中的zookeeper安装、连接及常见命令

    一 docker安装 1 搜索一下Zookeeper镜像 这一步可以省略 docker search zookeeper 2 从Docker上下载zookeeper docker pull zookeeper 3 启动Zookeeper镜像
  • ZooKeeper系统模型之集群间消息通信。

    ZooKeeper的消息类型大体上可以分为四类 分别是 数据同步型 服务器初始化型 请求处理型和会话管理型 数据同步型 数据同步型消息是指在Learner和Leader服务器进行数据同步的时候 网络通信所用到的消息 通常有DIFF TRUN
  • 手把手带你撸zookeeper源码系列目录

    手把手带你撸zookeeper源码 前言 手把手带你撸zookeeper源码 配置文件 手把手带你撸zookeeper源码 如何启动一个zookeeper服务 手把手带你撸zookeeper源码 从源码角度分析zookeeper启动时都做了
  • 搭建zookeeper集群的时候报: JAVA_HOME is not set and java could not be found in PATH.错误

    我在搭建zookeeper集群的时候总是报 JAVA HOME is not set and java could not be found in PATH 的错误 但是我的java环境是没问题的 这个问题困扰我两天了 终于解决了 在此记录
  • Dubbo源码分析-服务导出源码解析(三)

    在这个版本中dubbo会通过注解 PostConstruct把ServiceBean实例放到ConfigManager中 public abstract class AbstractConfig implements Serializabl
  • 如何实现一个分布锁?

    基本概念 为何需要分布式锁 传统环境中的情况 在程序开发过程中不得不考虑的就是并发问题 在java中对于同一个jvm而言 jdk已经提供了lock和同步等 但是在分布式情况下 往往存在多个进程对一些资源产生竞争关系 而这些进程往往在不同的机
  • 分布式锁解决方案_Zookeeper分布式锁原理

    通过召zk实现分布式锁可靠性时最高的 公平锁和可重入锁的原理 取水秩序 1 取水之前 先取号 2 号排在前面的 就可以先取水 3 先到的排在前面 那些后到的 一个一个挨着 在井边排成一队 公平锁 这种排队取水模型 就是一种锁的模型 什么是可
  • zookeeper 搭建教程(完整版)

    zookeeper 搭建教程 完整版 1 解压zookeeper文件 root master tar zxvf opt software apache zookeeper 3 5 7 bin tar gz C opt module 修改文件
  • Nacos、ZooKeeper和Dubbo的区别

    Nacos ZooKeeper和Dubbo是三个不同的分布式系统组件 它们之间有以下几点区别 功能定位 Nacos主要提供服务发现 配置管理和服务治理等功能 而ZooKeeper主要是分布式协调服务 提供了分布式锁 分布式队列等原语 Dub
  • 从zookeeper官方文档系统学习zookeeper

    从zookeeper官方文档系统学习zookeeper 1 zookeeper 2 zookeeper 文档 3 zookeeper 单机版 3 1 配置 3 2 启动 3 3 验证 4 zookeeper 集群版 4 1 配置 4 2 启
  • 微服务框架

    微服务框架 1 SOA思想 面向服务的架构 SOA 是一个组件模型 它将应用程序的不同功能单元 称为服务 进行拆分 并通过这些服务之间定义良好的接口和协议联系起来 接口是采用中立的方式进行定义的 它应该独立于实现服务的硬件平台 操作系统和编
  • go-zero 开发之安装 etcd

    本文只涉及 Linux 上的安装 二进制安装 下载二进制安装包 ETCD VER v3 4 28 ETCD VER v3 5 10 DOWNLOAD URL https github com etcd io etcd releases do
  • go-zero 的 etcd 配置

    实现代码在 core discov config go 文件中 type EtcdConf struct Hosts string Key string ID int64 json optional User string json opt
  • Zookeeper 和 Dubbo 的关系?

    Zookeeper的作用 zookeeper用来注册服务和进行负载均衡 哪一个服务由哪一个机器来提供必需让调用者知道 简单来说就是ip地址和服务名称的对应关系 当然也可以通过硬编码的方式把这种对应关系在调用方业务代码中实现 但是如果提供服务
  • Raft算法:term什么时候会增加?

    Raft将时间划分为任意长度的术语 如图5所示 术语用连续的整数编号 每个任期以一次选举开始 其中一名或多名候选人试图成为领导者 如第 5 2 节所述 如果候选人赢得选举 那么他将在剩余任期内担任领导者 在某些情况下 选举会导致投票分散 在
  • 网络断开后,raft follower如何重新加入?

    我在木筏上遇到了问题 在论文 寻找一种可理解的共识算法 扩展版 中写道 要开始选举 追随者会增加其当前的 任期并过渡到候选状态 第 5 2 节 它还说 AppendEntries RPC 和 RequestVot RPC 中的接收者应为 R

随机推荐

  • 云计算基础入门

    文章目录 前言 一 大数据 1 大数据技术 基础技术 2 大数据技术的产生 3 大数据 4 大数据对科学研究产生的影响 第四范式 四种范式 5 大数据的4V特征 二 云计算 1 云计算模式 2 云计算定义 2 云计算的主要服务模式 3 三种
  • 【MySQL中对表的常见操作】 —— 第四天

    1 删除表的基础语法 drop table 表名 普通删除 drop table if exists 表名 先判断该表是否存在 2 向表中插入数据的基础语法 insert into 表名 字段1 字段2 字段n values 字段值 字段值
  • Python中的包管理方法

    在Python开发中 包管理与依赖问题一直是开发者头疼的问题之一 随着项目规模的增大和复杂性的增加 管理各种依赖包和解决版本冲突变得尤为重要 本文将分享解决Python中的包管理与依赖问题的方法和工具 帮助开发者更好地管理项目中的依赖关系
  • 单片机c语言的指针,单片机C语言指针的指针

    指针的指针 一个指针变量内部可以存储一个值 这个值是另外一个对象的地址 所以我们说一个指针变量可以指向一个普通变量 同样这个指针变量也有一个地址 也就是 说有一个东西可以指向这个指针变量 然后再通过这个指针变量指向这个对象 那么如何来指向这
  • 右值引用 右值 左值和 左值引用

    首先注意lvalue 和rvalue 中的l r 不是 left和right 而是 l locator value 可以寻址的数据 明确一定是一个地址容纳一个数据 可以在该条语句后面再找到这个值 r read value 不可寻址数据或者用
  • FileZilla出现Failed to convert command to 8 bit charset 

    FileZilla这款FTP客户端软件 自从华哥使用以来 采用其默认的设置 一直用得很顺畅 没有出现过什么问题 但是今天碰到了一个问题 如图 错误信息为 Failed to convert command to 8 bit charset
  • linux 常用指令

    发布java jar程序 后台运行 输出日志文件 nohup java jar jar gt log log 列出后台执行的作业 jobs 列出作业 fg 123 将编号为123的作业调回前台 查看端口占用的线程的pid netstat n
  • Android MediaPlayer播放本地音频

    reference Android 第一行代码 MediaPlayer类常用的方法 setDataSource 设置要播放的音频文件的路径 prepare 开始播放之前调用这个方法完成准备工作 start 开始或继续播放 pause 暂停播
  • 基于SSM的图书馆借阅管理系统

    全网粉丝20W csdn特邀作者 博客专家 CSDN新星计划导师 java领域优质创作者 博客之星 掘金 华为云 阿里云 InfoQ等平台优质作者 专注于Java技术领域和毕业项目实战 文末获取项目下载方式 一 项目背景介绍 随着社会的发展
  • 重新梳理DeepFaceLab(DeepFake)最近动态:简要且全面的信息

    DeepFaceLab相关文章 一 简单介绍DeepFaceLab DeepFake 的使用以及容易被忽略的事项 二 继续聊聊DeepFaceLab DeepFake 不断演进的2 0版本 三 如何翻译DeepFaceLab DeepFak
  • 外置USB供电与内置锂电池供电自动切换电路

    外置USB供电与内置锂电池供电自动切换电路 便携电子设备常用 经典电路必须掌握 本文要分析的电路 很多内置有锂电池的便携电子设备 比如手机 通常采用这样的供电方式 1 没有插入USB电源时 使用内置的锂电池供电 2 当插入USB电源时 切换
  • JAVA体系书籍大全

    二哥 能不能给一套 Java 电子书的链接啊 最好是成体系的 我现在就想好好的学习 感觉和公司的一些同事差距有点大 想追赶上 纸质书有点沉 天天带在手边很不方便 尤其是上下班坐地铁的时候 都感觉看纸质书不太好意思 电子书不仅携带方便 还能不
  • 安装Tensorflow教程

    安装Tensorflow教程 1 环境要求 pychon3 5 可以在cmd下查看python3版本号 要求必须是3 5以及以上 python3 version Python 3 9 8 2 anaconda安装 打开anaconda en
  • Pyqt5 在线/离线安装教程

    在线安装 在线安装很简单 两行命令搞定 pip3 install PyQt5 pip install PyQt5 tools 如果访问外网不是很顺畅建议使用豆瓣的镜像下载 pip install PyQt5 i https pypi dou
  • window.open完美替代window.showModalDialog

    var url http www baidu com var name 百度 var iWidth 1100 弹窗宽度 var iHeight 700 弹窗高度 var iTop window screen availHeight 30 i
  • 组件化学习-3-源码分析ARouter

    之前我们学习了Arouter的使用 今天分析下源码实现原理 主要分3步 生成路由表 加载路由表 使用路由表 生成路由表 RouteProcessor负责生产路由表 ARouter框架使用编译时注解工具 Annotation Processi
  • 【项目:坦克大战】

    v1 25 新增功能 1 音效的处理 import pygame time random display pygame display COLOR BLACK pygame Color 0 0 0 COLOR RED pygame Colo
  • 华为OD机试 - 处理器问题(Java)

    题目描述 某公司研发了一款高性能AI处理器 每台物理设备具备8颗AI处理器 编号分别为0 1 2 3 4 5 6 7 编号0 3的处理器处于同一个链路中 编号4 7的处理器处于另外一个链路中 不通链路中的处理器不能通信 如下图所示 现给定服
  • msvcp140.dll丢失的详细修复教程

    打开电脑上的浏览器在顶部网址栏目输入 dll修复程序 site 然后按下键盘的回车键打开 电脑 dll中文简称动态链接库 把下载好的修复工具右键压缩文件进行解压操作 解压完成打开修复工具 修复工具中可以看到修复工具右侧中的检测与修复的项目
  • etcd 集群搭建及常用场景分析

    概述 etcd 是一个分布式一致性k v存储系统 可用于服务注册发现与共享配置 具有以下优点 简单 相比于晦涩难懂的paxos算法 etcd基于相对简单且易实现的raft算法实现一致性 并通过gRPC提供接口调用 安全 支持TLS通信 并可