Yarn与Zookeeper的介绍

Yarn--三大调度策略

    FIFO(先进先出):     目前几乎已经没有人使用了.
        类似于: 单行道.
        好处:
            每个计算任务能独享集群100%的资源.
        弊端:
            不能并行执行, 如果大任务过多, 会导致小任务执行时间过长.

    Capacity(容量调度): 我们用的Apache Hadoop(社区版Hadoop), Yarn的底层默认用的就是这种调度器.
        类似于: 多车道.
        好处:
            1. 可以当多任务, 并行执行, 提高计算效率.
            2. 可以借调资源.
        弊端:
            1. 每个计算任务不能独享集群100%的资源, 存在着资源闲置(浪费)的情况.
            2. 如果出现了资源借调的情况, 可能也会出现无法"及时"归还资源的情况.

    Fair(公平调度): FaceBook推出的, 后续要用的CDH(Cloudera公司提供的Hadoop, 商业版)的Yarn调度器就是这个.
        类似于: 潮汐车道.
        好处:
            1. 多任务可以并行执行, 提高计算效率.
            2. 如果只要1个任务, 则它可以共享集群100%的资源.
        弊端:
            每个任务获取集群的资源, 都是公平的, 均分的, 例如: 1个任务, 就占用 100%资源,
            2个任务, 各占50%的资源
            3个任务, 各占33.3333....%的资源
            .......
            如果小任务过多, 会导致大任务迟迟无法执行结束的问题. 

Zookeeper--简介

概述:
    它是一款非常好用的 大数据分布式协调服务组件, 主要是用来帮助我们管理大数据进群的, 例如: 主备切换, 选举机制, 全局数据一致性...
    吉祥物是: 1个拿着铁锹的小人.


本质:
    ZK本身也是1个小型的分布式文件存储系统, 采用ZNode节点的方式来存储数据, 底层是: 树形结构.  每个节点的大小不能超过: 1MB.
回顾: 树形结构特点:
    1. 有且只能有1个根节点.
    2. 每个节点都有若干个子节点及1个父节点(根节点除外)
    3. 没有子节点的节点称之为: 叶子节点.


Znode节点的分类:
    永久(无序)节点:   Persistent
        客户端的会话结束, 节点依旧存在.
    临时(无序)节点:   Ephemeral
        客户端的会话结束, 节点小时(会被自动删除).
    永久有序节点:
        Persistent + Sequential
        客户端的会话结束, 节点依旧存在, 会在节点名后边加10位数字, 升序递增. 0000000000, 0000000001...
    临时有序节点:
        Ephemeral + Sequential
        客户端的会话结束, 节点消失, 会在节点名后边加10位数字, 升序递增. 0000000000, 0000000001...
    细节:
        临时节点不能有子节点. 

Zookeeper--架构介绍

    Leader:     主节点
        1. 管理整个ZK集群, 负责: 全局数据一致性.
        2. 负责处理 数据事务操作(增, 删, 改)
        3. 负责转发 数据非事务操作(查) 给 Follower
    Follower:
        1. 实时和Leader同步, 保证: 全局数据一致性.
        2. 负责处理 数据非事务操作(查)
        3. 负责转发 数据事务操作(增, 删, 改) 给 Leader
        4. 有选举权.
    ObServer:
        除了没有选举权, 剩下的和 Follower一样.  大公司, 大规模集群, 才会考虑部署ObServer.

Zookeeper--Shell操作

常用Shell命令:
    help                                     -- 查看ZK支持的所有Shell命令
    create [-s] [-e] path data     -- Sequential(有序), Ephemeral(临时), 创建节点.
    delete path [version]           -- 删除节点, 只能删除(叶子节点)
    rmr path                              -- 删除节点及其字节
    set path data [version]        -- 修改节点的内容
    get path [watch]                  -- 查看节点内容
    ls path [watch]                    -- 查看节点简单信息
    ls2 path [watch]                  -- 查看节点详细信息
    history                                -- 查看历史命令
    redo 历史命令编号             -- 根据编号, 重新执行对应的 命令.

Zookeeper--数据模型

1. Znode兼具有文件 和 目录的功能, 既能存储数据, 也能有子级.
2. Znode操作具有原子性, 无论在哪台机器修改了节点值, 其它机器再查也是修改后的.
3. Znode存储数据有大小限制, 每个节点不超过1MB.
    细节: 我们用ZK不是用它存数据的功能, 而是管理大数据集群.
4. Znode节点必须通过 绝对路径的写法才可以获取, 即:  /aa

Zookeeper--特点

1. 全局数据一致性.
2. 可靠性.
3. 顺序性.  
4. 数据更新原子性.
5. 实时性.

Zookeeper--watch监听机制

1. 先注册, 后监听.
2. 当事件触发后, 会将触发结果告知 监听者.
3. 异步发送监听结果的.
4. 监听是一次性触发, 之后在触发响应的内容, 也不会给 监听者发送消息了.

Zookeeper--选举机制

    过半原则, 某个机器获取的票数超过集群总数的一半, 它就是Leader, 剩下的是Follower.
选举机制的方式:
    新集群: 参考myid值, 优先投票给myid值大的机器.
    旧集群: 参考(节点)最后一次更新的事务id, 优先投票给事务id大的节点(机器), 如果事务id一致, 则参考 myid值, 投票给myid值大的机器.

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

入门教程:Windows搭建C语言和EasyX开发环境

🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 如果对你…

【论文阅读】TimesNet: Temporal 2D-Variation Modeling for General Time Series Analysis

TimesNet: Temporal 2D-Variation Modeling for General Time Series Analysis 引用: Wu H, Hu T, Liu Y, et al. Timesnet: Temporal 2d-variation modeling for general time series analysis[C]//The eleventh international conference on learning representa…

学习 MongoDB:打开强大的数据库技术大门

一、基本概念 MongoDB 是一个基于分布式文件存储的文档数据库,由 C 语言编写。它旨在为 Web 应用提供可扩展的高性能数据存储解决方案。 相信MySQL我们非常的熟悉,那么MySQL的表结构与MongoDB的文档结构进行类比的话可能更好理解MongoDB。 MySQL的数据…

联通iccid 19转20 使用luhn 算法的计算公式

联通iccid 19转20 使用luhn 算法的计算公式 第一次对接iccid 才知道 使用的是luhn 算法 19转20位 文章来源于 文章来源 当时也是一脸懵逼 的状态,然后各种chatgpt 寻找,怎么找都发现不对,最后看到这片java的文章实验是正确的,因…

ubuntu生成core文件的设置方法

core文件可以很方便的帮助我们查找程序挂的问题,因此在程序挂后生成core文件的很有必要的。 1、查看ulimit参数 ulimit -a 如果core file size是0 需要设置其最大容量。按下面步骤操作 2、设置core文件大小,两种方法 临时生效,重启设备失…

WPF学习笔记-FlowDocument流文档基础知识和基本操作

文章目录 概述一、块元素和内联元素1.1 块元素(Block类)1.2 内联元素(Inline类)二、Paragraph元素2.1 基本属性设置2.2 将内联元素Inline添加到Inlines中2.3 设置中西文字体不一样 三、Table元素3.1 添加新的Table3.2 添加列3.3 添…

采用C#.net6.0+Vue,Ant-Design技术开发的一套大型医院手术麻醉信息系统源码,系统成熟,运行稳定

手术麻醉信息系统源码,C#手麻系统源码,自主版权应用案例(适合上项目) 手术麻醉信息系统可以实现手术室监护仪、麻醉机、呼吸机、输液泵等设备输出数据的自动采集,采集的数据能据如实准确地反映患者生命体征参数的变化&…

前端、后端上传文件到OSS,简明记录

前端、后端上传文件到OSS,简明记录 上传文件到oss的方式: **后端上传:**文件先要从页面上传到后端存起来,再通过后端发送到oss,然后后端将存起来的文件删除(当然可以不删)。 **前端上传&…

Unix 网络编程, Socket 以及bind(), listen(), accept(), connect(), read()write()五大函数简介

Unix网络编程是针对类Unix操作系统(包括Linux、BSD以及其他遵循POSIX标准的操作系统)进行网络通信开发的技术领域。网络编程涉及创建和管理网络连接、交换数据以及处理不同层次网络协议栈上的各种网络事件。在Unix环境中,网络编程通常涉及到以…

华为ensp中ospf多区域管理 原理及配置命令(详解)

作者主页:点击! ENSP专栏:点击! ————前言———— OSPF 多区域的主要作用是缩小链路状态数据库和路由表的规模,减少路由更新的频率,提高网络的可扩展性,实现路由过滤和路由汇总&#xff0…

交通标志识别项目 | 基于Tensorflow+SSD实现道路交通标志识别

项目应用场景 面向智能驾驶或自动驾驶场景道路道路交通标志的识别,在交通标志识别的基础上为下一步的智能决策提供前提 项目效果: 项目细节 > 具体参见项目 README.md (1) 安装依赖 Python3.5、TensorFlow v0.12.0、Pickle、OpenCV-Python、Matplotl…

如何利用CSS实现文字滚动效果

1. 使用CSS3的animation属性 CSS3的animation属性可以让元素在一段时间内不停地播放某个动画效果。我们可以利用这个特性来实现文字滚动效果。 我们需要定义一个包含所有需要滚动的文本的容器元素。比如&#xff1a; <div class"scroll-container"><p>…

手机一键换ip地址,解锁网络自由

在数字化时代&#xff0c;手机已经成为我们生活中不可或缺的一部分。随着移动互联网的快速发展&#xff0c;手机用户对于网络安全和隐私保护的需求也日益增强。其中&#xff0c;IP地址作为手机在网络中的标识&#xff0c;扮演着重要的角色。有时&#xff0c;出于隐私保护或网络…

仿真黑科技EasyGo DeskSim 2022

DeskSim2022的FPGA支持多种solver的混合应用&#xff0c;对于每一种solver可以采用不同的仿真步长&#xff0c;以下图模型为例&#xff0c;模型运行在FPGA上&#xff0c;FPGA解算方式采用的是Power Electronic & FPGA Coder解算&#xff0c;其中电力电子电路部分采用了两种…

【opencv】教程代码 —features2D(6)透视矫正:读取两个棋盘格图片并进行图像对齐...

perspective_correction.cpp 透视校正 hconcat(img2, img1_warp, img_draw_warp); hconcat(img1, img2, img_draw_matches); #include <iostream> // 引入iostream库&#xff0c;用于进行标准输入和输出操作 #include <opencv2/core.hpp> // 引入opencv的core库&am…

Redis 主从复制集群搭建及其原理

目录 前言 配置文件 启动服务 配置主从关系 两种配置方式 slaveof 配置文件 补充 缺点 认证 复制原理 全量同步 增量同步 前言 单机的 redis 的性能虽然已经很强大了&#xff0c;但是随着业务的扩展&#xff0c;总有一天会遇到性能瓶颈&#xff0c;针对高并发带来…

cJSON(API的详细使用教程)

我们今天来学习一般嵌入式的必备库&#xff0c;JSON库 1&#xff0c;json和cJSON 那什么是JSON什么是cJSON&#xff0c;他们之间有什么样的关联呢&#xff0c;让我们一起来探究一下吧。 JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式&…

注意力机制篇 | YOLOv8改进之添加DAT注意力机制

前言:Hello大家好,我是小哥谈。DAT(Vision Transformer with Deformable Attention)是一种引入了可变形注意力机制的视觉Transformer。在训练算法模型的时候,通过引入可变形注意力机制,改进了视觉Transformer的效率和性能,使其在处理复杂的视觉任务时更加高效和准确。�…

扫地机器人(蓝桥杯)

文章目录 扫地机器人题目描述解题思路二分贪心 扫地机器人 题目描述 小明公司的办公区有一条长长的走廊&#xff0c;由 N 个方格区域组成&#xff0c;如下图所 示。 走廊内部署了 K 台扫地机器人&#xff0c;其中第 i 台在第 Ai 个方格区域中。已知扫地机器人每分钟可以移动…

黑马HTMLCSS基础

黑马的笔记和资料都是提供好了的&#xff0c;这个文档非常适合回顾复习。我在黑马提供的笔记上做了一些微不足道的补充&#xff0c;以便自己复习查阅。该笔记比较重要的部分是 表单&#xff0c;http请求 第一章. HTML 与 CSS HTML 是什么&#xff1a;即 HyperText Markup lan…