01,大数据总结,zookeeper

news2024/9/22 11:32:59

1 ,zookeeper :概述

1.1,zookeeper:作用

1 ,大数据领域 :存储配置数据
 
  例如:hadoop 的 ha 配置信息,hbase 的配置信息,都存储在 zookeeper
 
2 ,应用领域 :分布式锁
 
  分布式锁,虽然 zk 也能做,但是更加推荐使用 redis ,更合适。

1.2,zookeeper:开发 - java

java 语言开发的。

1.3,qps :10w

1 ,3 台主机的 zk 集群,qps 可以达到 :10w 左右。

2 ,zookeeper :架构

2.1,架构图 :

在这里插入图片描述

2.2,leader :主节点

1 ,角色 :
 
  集群的主节点
 
2 ,作用 :
 
  1 ,处理客户端请求 :读,写。
 
  2 ,服务器内部 :调度者,将写请求,发送给每个系节点。
 
  3 ,事务:保证事务处理的有序性。

2.2,follower :从节点

1 ,角色 :
 
  集群的从节点
 
2 ,作用 :
 
  1 ,处理客户端请求 :读。
 
  2 ,写请求 :转发给 leader 处理。
 
  3 ,选举:leader 挂了,follower 要参与 leader 选举。
 
  4 ,存储:leader 存储数据的时候,需要每个从节点,根据leader提议,在本地存储数据。

2.3,observer :观察者节点

1 ,角色 :
 
  集群的从节点
 
2 ,作用 :
 
  1 ,处理客户端请求 :读。
 
  2 ,写请求 :转发给 leader 处理。
 
  3 ,选举:不参与
 
  4 ,同步:从主节点同步数据。

3 ,zookeeper :数据处理

3.1,最终一致性 :

意义 :数据同步不及时,但是最终,数据是一致的。

3.2,获取 :最新数据

1 ,由于 :
 
  zookeeper 的数据更新,不及时。
 
2 ,client 想获取最新数据,需要在读取数据前,先调用这个接口 :
 
  sync()
 
3 ,sync() 作用 :
 
  1 ,目的 :client 连接的当前从节点,向 leader 发请求,需要同步最新数据。
 
  2 ,leader 响应 :如果没有心数据,直接返回响应【Leader.SYNC】
 
    如果有新数据,需要处理完最新数据,才返回响应【Leader.SYNC】,从节点收到响应后,将最新数据,返回给 client 。

3.3,数据操作 :写入流程,leader

1 ,leader 接收请求
 
2 ,leader 发送 proposal 给 follower
 
3 ,follower 收到请求记录 txlog、snapshot、
 
4 ,follower 发送 ack 给 leader
 
5 ,commit :leader 收到 ack 后进行 commit,并且通知所有的【follower,observer】
 
6 ,leader 返回成功给客户端

3.4,数据操作 :写入流程,follower

1 ,follower 接受请求,解析请求。
 
2 ,转发 :follower 将写请求转发给 leader
 
3 ,leader接收请求
 
4 ,leader 发送 proposal 给 follower
 
5 ,follower 收到请求记录 txlog、snapshot、
 
6 ,follower 发送 ack 给 leader
 
7 ,commit :leader 收到 ack 后进行 commit,并且通知所有的【follower,observer】
 
8 ,follower 返回成功给客户端。

3.5,数据操作 :写入流程,observer

1 ,observer 接受请求,解析请求。
 
2 ,转发 :observer 将写请求转发给 leader
 
3 ,leader接收请求
 
4 ,leader 发送 proposal 给 follower
 
5 ,follower 收到请求记录 txlog、snapshot、
 
6 ,follower 发送 ack 给 leader
 
7 ,commit :leader 收到 ack 后进行 commit,并且通知所有的【follower,observer】
 
8 ,observer 返回成功给客户端。

3.6,数据操作 :写入流程,注意

1 ,leader 发送 proprsal 决议 :
 
  只给 follower 发送

4 ,zookeeper :数据 - znode

4.1,数据结构 :树形

zookeeper 数据存储在树形结构上

4.2,znode :数据节点

1 ,znode 节点 :
 
  存储数据 :例如,abcde
 
  有路径 :例如,/a/b/c/d

4.3,znode :数据大小 - 1m

每个 znode ,只能存储最多 1m 数据

4.4,znode :watcher - 观察者

1 ,可监听的事件 :4 种
 
  节点创建
 
  节点删除
 
  节点数据改变
 
  节点的子节点列表发生变更。
 
2 ,

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PXE服务

一.PXE服务的功能介绍 1.无盘启动:PXE允许计算机在没有本地存储设备的情况下启动操作系统。这对于构建无盘工作站非常有用,因为计算机可以直接从网络加载操作系统和其他应用程序1。 2.远程安装操作系统:PXE技术可以用于远程安装操作系统&…

C++11的部分新特性

目录 1.列表初始化 1.1 { } 初始化 1.2 std::initializer_list 2.声明 2.1 auto 2.2 decltype 2.3 nullptr 3. 范围for 4.STL中的一些变化 5.右值引用与移动语义 5.1 左值引用与右值引用 5.2 左值引用与右值引用的比较 5.3 右值引用使用场景 5.4 完美转发 6.新的…

操作系统week2

操作系统学习 二.处理机管理 19.生产者-消费者问题 问题: 代码: 20.多生产者-多消费者问题 实现: 21.吸烟者问题(单生产者-多消费者) 问题: 实现: 22.读者-写者问题 问题: 读优先的代码&…

CentOS7更换阿里云yum更新源

目前CentOS内置的更新安装源经常报错无法更新,或者速度不够理想,这个时候更换国内的镜像源就是一个不错的选择。 备份内置更新源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 下载阿里云repo源(需要系统…

Cubieboard2(三) 系统构建 —— WSL Ubuntu 中挂载 U 盘(SDCard)

文章目录 1 WSL Ubuntu 中挂载 U 盘(SDCard)2 usbipd 搭建虚拟机与宿主机 USB 通信桥梁3 WSL 内核添加 USB 设备驱动3.1 编译 WSL Linux 内核3.2 挂载 USB(SDCard) 设备 附录:WSL 操作命令附录:git 仓库检出 1 WSL Ubuntu 中挂载 U 盘(SDCard) Linux 驱动…

使用OpenFeign在不同微服务之间传递用户信息时失败

文章目录 起因原因解决方法: 起因 从pay-service中实现下单时,会调用到user-service中的扣减余额。 因此这里需要在不同微服务之间传递用户信息。 但是user-service中始终从始至终拿不到user的信息。 原因 在pay-service中,不仅要Enable O…

YOLO学习笔记 | YOLO目标检测算法(YOLO-V2)

github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 YOLO-V2 V1与V2区别Batch Normalization更大分辨率YOLO-V2网络结构 V1与V2区别 V2更强更快 Batch Normalization 更大分辨率 YOLO-V2网络结构

顺序栈讲解

文章目录 🍊自我介绍🍊顺序栈讲解生活中的例子栈的基本概念入栈和出栈 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以:点赞关注评论收藏(一键四连)哦~ 🍊自我介绍 Hello,大家好,我是小…

《ImageNet Classification with Deep Convolutional Neural Networks》论文导读

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl《ImageNet Classification with Deep Convolutional Neural Networks》是一篇在深度学习领域具有重要影响力的论文,由Alex Krizhevsky、Ilya Sutskever和Geoffrey E. Hinton等人撰写。该论文主要…

窗口嵌入桌面背景层(vb.net,高考倒计时特供版)

开发思路 根据系统生成高考倒计时的具体时间,附加江苏省省统考的时间生成算法,并且用户可以根据实际情况调整前后30天,具有丰富多彩的图片库和强大的自定义功能,效果图见P3 目前程序处于正式版的1.4版本,本程序由本作…

【信创】Linux上图形化多ping工具--gping的编译安装与打包 _ 统信 _ 麒麟 _ 方德

原文链接:【信创】图形化多ping工具gping的编译安装与打包 | 统信 | 麒麟 | 方德 Hello,大家好啊!今天给大家带来一篇关于在Linux操作系统上使用gping的文章。gping是一款非常实用的命令行工具,它将传统的ping命令进行了可视化改进…

CCPC赛后补题-线性基

模板题:https://www.luogu.com.cn/problem/P3812 线性基可以用一个长度为$ \log_2N $的数组描述值域[1,N],0的情况需要特判。 一个长度为64的线性基可以描述所有的64位整数。 在2024年CCPC网络赛中,考到了线性基。没学过,追悔莫…

解决iframe嵌套第三方页面被拒绝

背景 很多时候,出于安全考虑,没有第三方页面的允许,我们是无法直接通过iframe去打开别人的第三方页面的,通常他们会通过在页面请求的响应头增加X-Frame-Options (去了解)和Content-Security-Policy (去了解)。 目的 可是有些时…

详细介绍 Servlet 基本概念——以餐厅服务员为喻

什么是Servlet Servlet 是 Java EE(Java Platform, Enterprise Edition)中用于构建动态 web 应用的组件。它在服务器端运行,并能够处理客户端请求,生成动态响应。以下是对 Servlet 的详细介绍: 1. Servlet 的基本概念…

COSMOSPANDA星际熊猫助阵长江商学院高尔夫周年庆典

在金秋送爽的美好时节,星际漫游(广州)品牌管理有限公司旗下备受欢迎的潮玩IP“COSMOSPANDA星际熊猫”与长江商学院深圳校友会强强联手,于9月10日在风景如画的中山雅居乐长江高尔夫球会成功举办了“长江商学院深圳校友会高尔夫球队…

基于ssm+vue+uniapp的智能停车场管理系统小程序

开发语言:Java框架:ssmuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:M…

6.1 溪降技术:绳结

目录 6.1 绳结电子书:绳结1级概览正确打结打绳结绳结组成部分学习术语八字套结(双八字结)观看技术步骤双重单结(反手结绳耳)观看技术步骤骡子结(驮马结)观看技术步骤 6.1 绳结 电子书&#xff1…

【人工智能】AI创业的前沿思考 | 从垂直领域到通用智能模型AGI的崛起

写在前面: 🌟 欢迎光临 清流君 的博客小天地,这里是我分享技术与心得的温馨角落。📝 个人主页:清流君_CSDN博客,期待与您一同探索 移动机器人 领域的无限可能。 🔍 本文系 清流君 原创之作&…

影视剧数据分析与可视化

数据入口:影视剧数据集 - Heywhale.com 读取的数据包含750条条目,分布在6个列中。以下是数据的列和它们的数据类型: 影视剧名称(object):表示影视剧的名称。影视剧标签(object)&…

<<编码>> 第 12 章 二进制加法器--全加器 示例电路

全加器的内部构成 info::操作说明 鼠标单击逻辑输入切换 0|1 状态 primary::在线交互操作链接 https://cc.xiaogd.net/?startCircuitLinkhttps://book.xiaogd.net/code-hlchs-examples/assets/circuit/code-hlchs-ch12-05-full-adder-internal.txt 全加器 info::操作说明 鼠标…