zookeeper的动态扩容

2023-10-29

附属意义的扩容:扩容的新增节点为观察者observer

1.观察者概念:

a.在zookeeper引入此新的zookeeper节点类型为observer,是为了帮助处理投票成本随着追随者增加而增加的问题并且进一步完善了zookeeper的可扩展性

b.观察者不参与投票,他只监听投票的结果,但是观察者可以和追随者一样运行;也即 客户端可以连接到观察者状态的服务器发起读取和写入的请求,会像追随者一样转发请求到领导者,而观察者只是简单的等待监听投票的结果

c.观察者数量不会影响到投票性能,因此观察者不是zookeeper集群整体的主要节点,观察者产生故障或者从集群中断开连接都不会影响到集群的性能

2.意义:

a.在实际使用中,观察者可以连接到比追随者更不可靠的网络;

b.事实上,观察者可以用于从其他数据中心和zookeeper服务器通信

3.优点:

a.提升集群的读性能,对写性能影响很小

b.可以将observer部署在异地机房,读请求就近发起,降低延迟

4.缺点:

a.对写操作有一定的影响:观察者所在的服务器处于无监控状态,无法保证数据都同步成功了,可能会因为网络原因造成一些写入请求被丢弃等

b.如果observer部署异地机房,写同步的延迟可能会增加

c.源集群的稳定性没有提高

5.observer扩容配置:

a.假设扩容的observer服务器为server.6 & server.7

b.重新在bigdata01上解压并重命名为observerZK01 || observerZK02

c.并且在conf/zoo.cfg文件中进行以下配置:

i.dataDir=/home/software/observerZK01/tmp

||

dataDir=/home/software/observerZK02/tmp

ii.clientPort= 2184

||

clientPort=2185

iii.添加声明当前zk服务器类型为observer server的属性:

peerType=observer

iv. 在构建集群地址时,需要将配置为观察者的主机后添加上观察者标记:observer

server.1=192.168.88.182:2888:3888

server.2=192.168.88.183:2888:3888

server.3=192.168.88.184:2888:3888

server.4=192.168.88.182:2889:3889

server.5=192.168.88.182:2890:3890

server.6=192.168.88.182:2891:3891:observer

server.7=192.168.88.182:2892:3892:observer

a.分别在tmp目录下新建并设置 myid编号为 6 || 7

d. 启动服务器 并且查看此时服务器的状态是否为observer:

在这里插入图片描述

e. 连接到observer服务器的客户端: ./observerZK02/bin/zkCli.sh -server slave02:2185
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

zookeeper的动态扩容 的相关文章

  • 【踩坑日常】解决Eureka启动报错:Network level connection to peer localhost;retrying after delay

    项目场景 最近在使用Spring Cloud的Eureka服务时 遇到了一个线上问题 Eureka启动一直报错 提示 Network level connection to peer localhost retrying after del
  • RabbitMQ避免重复消费

    在Java中 可以使用消息队列来实现消息的异步处理 其中常用的消息队列有 RabbitMQ ActiveMQ Kafka 等 什么是幂等性 幂等性是指无论操作执行多少次 都是得到相同的结果 而不会产生其他副作用 在rabbitMQ中 什么是
  • 在异构系统中学习应用的流迭代分布式编码计算研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现
  • GoLong的学习之路,进阶,微服务之使用,RPC包(包括源码分析)

    今天这篇是接上上篇RPC原理之后这篇是讲如何使用go本身自带的标准库RPC 这篇篇幅会比较短 重点在于上一章对的补充 文章目录 RPC包的概念 使用RPC包 服务器代码分析 如何实现的 总结 Server还提供了两个注册服务的方法
  • 第六章--- 实现微服务:匹配系统(下)

    0 写在前面 这一章终于完了 但是收尾工作真的好难呀QAQ 可能是我初学的缘故 有些JAVA方面的特性不是很清楚 只能依葫芦画瓢地模仿着用 特别是JAVA的注解 感觉好多但又不是很懂其中的原理 只知道要在某个时候用某个注解 我真是有够菜的
  • Kafka基础—3、Kafka 消费者API

    一 Kafka消费者API 1 消息消费 当我们谈论 Kafka 消费者 API 中的消息消费时 我们指的是消费者如何从 Kafka 主题中拉取消息 并对这些消息进行处理的过程 消费者是 Kafka 中的消息接收端 它从指定的主题中获取消息
  • 【分布式算法】Gossip协议详解

    一 为什么需要 Gossip 协议 为了实现 BASE 理论中的 最终一致性原则 两阶段提交协议和 Raft 算法需要满足 大多数服务节点正常运行 原则 如果希望系统在少数服务节点正常运行的情况下 仍能对外提供稳定服务 这时就需要实现最终一
  • Kubernetes 简介

    1 Kubernetes简介 一个容器管理应用 提高容器化服务的部署和管理效率 2 容器部署 2 1 传统部署形式 应用共用服务器环境 对于底层资源 文件目录 JDK 网络带宽等 存在弹性争夺 冲突等问题 容易导致应用性能不稳定 服务器环境
  • 什么是微服务

    微服务是一种架构风格 它把一个大型的复杂软件应用划分为一系列小的服务 每个服务都具有单一的功能 运行在其自己的进程中 并通常基于不同的编程语言和框架 这些服务之间通过轻量级通信机制相互通信 这种通信机制基于HTTP协议 微服务架构风格使得系
  • Kubernetes 简介

    1 Kubernetes简介 一个容器管理应用 提高容器化服务的部署和管理效率 2 容器部署 2 1 传统部署形式 应用共用服务器环境 对于底层资源 文件目录 JDK 网络带宽等 存在弹性争夺 冲突等问题 容易导致应用性能不稳定 服务器环境
  • 终于找到了最新版的Zookeeper入门级教程,建议收藏!

    小熊学Java https javaxiaobear cn 1 分布式一致性 1 CAP 理论 CAP 理论指出对于一个分布式计算系统来说 不可能同时满足以下三点 一致性 在分布式环境中 一致性是指数据在多个副本之间是否能够保持一致的特性
  • 使用 Helm Chart 部署分布式 GreptimeDB

    GreptimeDB 作为云时代基础设施的时序数据库 从第一天开始就积极拥抱云原生技术 将数据库部署在 Kubernetes 上可以提供可伸缩性 自愈能力和简化的部署和管理 从而为应用程序提供了强大的弹性和可靠性 Helm 是一个用于管理
  • 华纳云:ServiceComb如何实现zipkin分布式调用链追踪

    Apache ServiceComb是一个开源的微服务框架 它提供了分布式系统开发所需的一系列工具和服务 在ServiceComb中 实现分布式调用链追踪可以通过整合Zipkin来实现 Zipkin是一个开源的分布式追踪系统 它可以帮助你跟
  • 15分钟无门槛高效构建服务器性能监控系统!

    服务器监控是每个互联网厂商都重视并且想要尽可能做好的事情 从数据收集 数据处理 数据可视化最终再到实时监控告警 这一系列复杂的流程可能耗费企业大量的人力和时间 以至于某些时候因为其复杂性高无法达到预期的监控效果 而当事故发生时才发现 由于监
  • Spark 中 BroadCast 导致的内存溢出(SparkFatalException)

    背景 本文基于 Spark 3 1 1 open jdk 1 8 0 352 目前在排查 Spark 任务的时候 遇到了一个很奇怪的问题 在此记录一下 现象描述 一个 Spark Application Driver端的内存为 5GB 一直
  • K8S部署pod状态CreateContainerConfigError问题解决

    天行健 君子以自强不息 地势坤 君子以厚德载物 每个人都有惰性 但不断学习是好好生活的根本 共勉 文章均为学习整理笔记 分享记录为主 如有错误请指正 共同学习进步 文章目录 场景 问题 解决 场景 在k8s中部署gitlab后查看状态并非R
  • 考虑极端天气线路脆弱性的配电网分布式电源配置优化模型【IEEE33节点】(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现
  • Kubernetes (十一) 存储——Secret配置管理

    一 简介 从文件创建 echo n admin gt username txt echo n westos gt password txt kubectl create secret generic db user pass from fi
  • Redis分布式锁--java实现

    文章目录 Redis分布式锁 方案 SETNX EXPIRE 基本原理 比较好的实现 会产生四个问题 几种解决原子性的方案
  • RabbitMQ环境配置

    文章目录 安装Erlang 安装RabbitMQ 安装Erlang 下载地址 http erlang org download otp win64 25 3 2 7 exe 安装RabbitMQ 下载地址 https www rabbitm

随机推荐

  • Objective-C中堆和栈的区别是什么?

    堆空间的内存是动态分配的 一般用于存放Objective C对象 并且需要手动释放内存 ARC环境下Objective C对象由编译器管理 不需要手动释放 栈空间的内存由系统自动分配 一般存放非Objective C对象的基本数据类型 例如
  • 【Linux】之 命令大全

    目录 一 帮助指令 二 目录操作指令 三 日期时间类 四 用户权限管理 root 五 文件属性 六 文件搜索类 七 压缩解压命令 八 磁盘查看和分区类 九 进程管理 十 系统定时任务 crontab 服务管理 十一 软件包管理 下载软件 十
  • 神经网络学习小记录51——Keras搭建孪生神经网络(Siamese network)比较图片相似性

    神经网络学习小记录51 Keras搭建孪生神经网络 Siamese network 比较图片相似性 学习前言 什么是孪生神经网络 代码下载 孪生神经网络的实现思路 一 预测部分 1 主干网络介绍 2 比较网络 二 训练部分 1 数据集的格式
  • ubuntu 16.04 修改MAC地址何IP地址

    永久修改MAC地址 方法一 1 编辑 etc init d rc local 文件 sudo gedit etc init d rc local 2 在此配置文件的最后面加上如 Ubuntu 修改网卡的MAC地址 的修改命令 注 16 04
  • 实验:基本的系统安全控制 实验环境 某公司新增了一台企业级服务器,已安装运行RHEL 6操作系统,由系统运维部、软件开发部、技术服务部共同使用。由于用户数量众多,且使用时间不固定,要求针对账号和

    实验 基本的系统安全控制 实验环境 某公司新增了一台企业级服务器 已安装运行RHEL 6操作系统 由系统运维部 软件开发部 技术服务部共同使用 由于用户数量众多 且使用时间不固定 要求针对账号和登录过程采取基本的安全措施 需求描述 允许用户
  • Android解决EditeText内容右对齐时光标位于hint之前的问题

    当EditText的gravity设置为end或者right时 在某些手机上输入框的光标位置会显示在hint文字之前 如下图 如果我们想光标的位置在hint文字后面 即最右边 解决的方法有 方法一 比较省事的做法 设置EditText的te
  • thinkphp5 访问不了多模块

    thinkphp5 访问不了多模块 只能访问默认模块 可能是nginx文件配置问题 更改nginx conf文件 在server段内添加如下代码段 location try files uri uri args if e request f
  • python火灾检测

    火灾检测是一项用于实时火灾探测和自定义图像的人工智能项目 这是火检测的第一个版本 它包含42幅测试图像的数据集 用于训练100幅图像 安装 如果您有一个NVIDIA GPU 那么您可以安装tensorflow gpu包裹 它会让事情发展得更
  • C# EF Newtonsoft.Json.JsonSerializationException 序列化出现异常

    在对EF EntityFramework 查询的数据序列化出现的问题 问题记录 Newtonsoft Json JsonSerializationException 序列化出现异常 Self referencing loop detecte
  • 二叉树面试题总结(Java)

    本文参考博客 http www jianshu com p 0190985635eb 先上二叉树的数据结构 class TreeNode int val 左孩子 TreeNode left 右孩子 TreeNode right 二叉树的题目
  • java自定义button类控件

    上面是做完后的效果 第一次用java来做自定义继承button类控件 如图看到的其实就只有一个经改写的button控件 style 1 2 3 4 是button内部的几个小label而已 不过中间的滑动效果做得不太好 滑动时有闪烁 还请高
  • 哲理故事300篇 下

    哲理故事300篇 上 http blog csdn net andylin02 archive 2006 08 23 1109314 aspx 哲理故事300篇 中 http blog csdn net andylin02 archive
  • 浅谈类和对象

    一 定义 类 类是一个模板 是抽象的 类可以用于创建对象 类是对具有相同特征和作用的对象的抽象 eg 学生是一个抽象的类 具体实现有小学生 中学生 大学生 对象 任何一个具体的事物或者物体就是一个对象 对象是对类的具体实现 eg 我的电脑
  • lr中需要注意的点--安装后打不开ie需要设置的地方

    前提 Loadrunner11仅支持ie9向下版本 若安装了ie10则需要在查看一安装的更新中卸载 1 设置ie浏览器为默认浏览器 2 计算机 gt 属性 gt 高级系统管理 gt 性能 gt 设置 过程中会提示重启 3 tools gt
  • spring 和springboot 整合rabbitmq

    文章目录 spring springboot整合 rabbitmq 4 1 spring 整合rabbitmq 4 2 springboot 整合rabbitmq spring springboot整合 rabbitmq rabbitmq
  • Java文档注释

    Java文档注释 Doc umentation Comments 注意不要将注解 Annotation 与注释 Comments 混淆 Java的有三种注释 1 单行注释 注释内容 2 多行注释 注释内容 3 文档注释 注释内容 Java文
  • vue z-index层级显示问题

    一个单页面 顶部有fixed的nav 当向上滑动页面时 发现nav里有的组件被下放的组件遮盖 第一时间明白这时需要修改层级设置 将下方的组件z index设为 1 nav的组件z index调高 发现还是有各种遮盖的问题 然后花了点时间找资
  • linux查看某个应用占用多少线程

    以tomcat为例 获取tomcat进程pid ps ef grep tomcat 10090 统计该tomcat进程内的线程个数 ps Lf 10090 wc l 数量就是该tomcat启动了多少线程
  • java异常(机制和捕捉(常见异常类))详解 +练习题

    Java 中的异常处理机制 1 什么是异常 异常 程序在运行过程中产生的不正常情况 程序在运行的时候 发生了一些不被预期的事件 从而没有按照我们编写的代码执行 这就是异常 异常是Java中的错误 但是并不是所有的错误都是异常 比如说 你在定
  • zookeeper的动态扩容

    附属意义的扩容 扩容的新增节点为观察者observer 1 观察者概念 a 在zookeeper引入此新的zookeeper节点类型为observer 是为了帮助处理投票成本随着追随者增加而增加的问题并且进一步完善了zookeeper的可扩