Yarn与Zookeeper学习

YARN学习

1.YARN是什么?

yarn 分配运行资源 mapReduce的运行平台

Yarn与Zookeeper学习_第1张图片

2.YARN运行过程:

  1. 客户端与ResourceManager交互,生成临时配置文件(Application)
  2. ResourceManager根据Application信息生成Task然后生成MapReduceApplicationMaster(简称AM)
  3. AM通过和App交互申请MapTask资源,并运行MapTask任务
  4. MapTask资源完毕,申请资源处理ReduceTask,收回Maptask资源 ,ReduceTask完毕,同样收回
    Yarn与Zookeeper学习_第2张图片
    为什么是6个??
    图中不是四个就够用么

3.YARN任务调度

1.调度器

1.先进先出 先到先服务
资源排队,

2.容量调度器

单队列变为了多队列
这里,不同队列的资源是可以相互借调的,但是如果银行需要用钱的时候,需要将债直接收回来,而债主的任务直接失败,进行重试.
Yarn与Zookeeper学习_第3张图片
在这里插入图片描述
多租户策略,就是,一个队列起码2个job在占用资源.

3.公平调度器

如果资源满足不了job,job就先等着
Yarn与Zookeeper学习_第4张图片
Yarn与Zookeeper学习_第5张图片

4.问题

1. 什么是缺额: 距离运行条件所差的资源就叫缺额

2.DRF

在这里插入图片描述
百分比的比较,谁大就是谁控制

3.什么是虚拟核数?

虚拟核数就是我们自己设定的CPU核数大小,但是当物理核数时,会按照机器的实际核数进行运载,甚至
超载

5.YARN队列如何配置

如何在YARN创建队列
capacity-scheduler
Yarn与Zookeeper学习_第6张图片
当前调度器能支持的最大应用数(job)

Yarn与Zookeeper学习_第7张图片
applicationMaster

Yarn与Zookeeper学习_第8张图片
集群资源的判断标准`

Yarn与Zookeeper学习_第9张图片
Yarn与Zookeeper学习_第10张图片
Yarn与Zookeeper学习_第11张图片
acl 与权限有关

Yarn与Zookeeper学习_第12张图片
job的最大存活时间
Yarn与Zookeeper学习_第13张图片
默认的超时时间

架构模型
调度策略
生产环境通过修改参数调控资源

Zookeeper

1.概念(是什么)?

  • Zookeeper 文件系统+通知机制
  • Zookeeper相当于管理系统,类似于HDFS的NN,而他的DN是服务器和客户端。
  • 注意,创建的都是临时节点,应该是超时删除把或者结束删除。
  • 观察者模式: 当ZK的节点列表发生变化,会通知其他节点。监听实现
  • 数据同步,每个Service上的数据都能保证一定时间内是相同的.

2.模拟

Yarn与Zookeeper学习_第14张图片
Yarn与Zookeeper学习_第15张图片

问题

  • 为什么半数以上存活?
    如果一半都不存活了,就显得Zookeeper不正常

  • 为什么奇数台服务器好?
    6台错3台 无法运行 5台错3台无法运行,奇数台可以多一个机器。

  • 实时性
    因为Zookeeper不存大量业务数据,所以数据量显得比较少,这样数据更新就很快,保证了实时性。

3.Zookeeper 结构

Yarn与Zookeeper学习_第16张图片
路径和数据在一起.

Yarn与Zookeeper学习_第17张图片
zkServer.sh 开启关闭ZK
zkCli 开启客户端

4.配置修改zoo.cfg

Yarn与Zookeeper学习_第18张图片

1.配置文件名去掉simple

2.修改配置文件内容 修改数据存储路径 添加zookeeper服务器列表

参数1 : tickTime 默认2000ms 通信心跳时间,Zookeeper服务器与客户端心跳时间
参数2 : initLimit 默认10 LF初始通信时限
参数3 : syncLimit 默认5 LF同步通信时限
这三个参数,就表示,默认2秒,Zookeeper客户端和服务器交互一次,
而Zookeeper中,Leader和Follower初始连接时允许的最多心跳数为initLimit,也就是说,Leader和Follower如果在tickTime * initLimit不能完成初次交互,则Follower直接失败.
同步通信时限: 同步,就是日常交互时的通信时限,最多syncLimit次不进行回应,就结束
dataDir: 存储Zookeeper的数据的地址 注意tmp是存储临时文件的,会被Linux定期删除
server.1=hadoop201:2888:3888
server.2=hadoop202:2888:3888
server.3=hadoop203:2888:3888

server.服务器序号 = 服务器地址: Follower与Leader交换信息的端口:选举时互相通信的端口

3.创建数据存储文件夹 创建id文件 ,输入自身服务器序号

5.选举机制

1.第一次启动
Yarn与Zookeeper学习_第19张图片
我的理解,先投自己,如果没Leader,交换信息后,投大的。如果已经有Leader就无法改变。
2.再次选举
Yarn与Zookeeper学习_第20张图片

你可能感兴趣的:(hadoop,大数据,zookeeper,学习,分布式)